@superdoc-dev/cli 0.2.0-next.75 → 0.2.0-next.77
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/index.js +2253 -1124
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -3577,6 +3577,655 @@ var init_paragraphs = __esm(() => {
|
|
|
3577
3577
|
CLEAR_SHADING_KEYS = new Set(["target"]);
|
|
3578
3578
|
});
|
|
3579
3579
|
|
|
3580
|
+
// ../../packages/document-api/src/inline-semantics/token-sets.ts
|
|
3581
|
+
var ST_ON_OFF_VALUES, ST_ON_OFF_VALUE_SET, ST_ON_OFF_ON_VALUES, ST_ON_OFF_OFF_VALUES, ST_UNDERLINE_VALUES, ST_UNDERLINE_VALUE_SET, ST_THEME_COLOR_VALUES, ST_THEME_COLOR_VALUE_SET;
|
|
3582
|
+
var init_token_sets = __esm(() => {
|
|
3583
|
+
ST_ON_OFF_VALUES = ["true", "false", "1", "0", "on", "off"];
|
|
3584
|
+
ST_ON_OFF_VALUE_SET = new Set(ST_ON_OFF_VALUES);
|
|
3585
|
+
ST_ON_OFF_ON_VALUES = new Set(["true", "1", "on"]);
|
|
3586
|
+
ST_ON_OFF_OFF_VALUES = new Set(["false", "0", "off"]);
|
|
3587
|
+
ST_UNDERLINE_VALUES = [
|
|
3588
|
+
"single",
|
|
3589
|
+
"double",
|
|
3590
|
+
"thick",
|
|
3591
|
+
"dotted",
|
|
3592
|
+
"dottedHeavy",
|
|
3593
|
+
"dash",
|
|
3594
|
+
"dashedHeavy",
|
|
3595
|
+
"dashLong",
|
|
3596
|
+
"dashLongHeavy",
|
|
3597
|
+
"dotDash",
|
|
3598
|
+
"dashDotHeavy",
|
|
3599
|
+
"dotDotDash",
|
|
3600
|
+
"dashDotDotHeavy",
|
|
3601
|
+
"wave",
|
|
3602
|
+
"wavyHeavy",
|
|
3603
|
+
"wavyDouble",
|
|
3604
|
+
"words",
|
|
3605
|
+
"none"
|
|
3606
|
+
];
|
|
3607
|
+
ST_UNDERLINE_VALUE_SET = new Set(ST_UNDERLINE_VALUES);
|
|
3608
|
+
ST_THEME_COLOR_VALUES = [
|
|
3609
|
+
"dark1",
|
|
3610
|
+
"light1",
|
|
3611
|
+
"dark2",
|
|
3612
|
+
"light2",
|
|
3613
|
+
"accent1",
|
|
3614
|
+
"accent2",
|
|
3615
|
+
"accent3",
|
|
3616
|
+
"accent4",
|
|
3617
|
+
"accent5",
|
|
3618
|
+
"accent6",
|
|
3619
|
+
"hyperlink",
|
|
3620
|
+
"followedHyperlink",
|
|
3621
|
+
"background1",
|
|
3622
|
+
"text1",
|
|
3623
|
+
"background2",
|
|
3624
|
+
"text2",
|
|
3625
|
+
"none"
|
|
3626
|
+
];
|
|
3627
|
+
ST_THEME_COLOR_VALUE_SET = new Set(ST_THEME_COLOR_VALUES);
|
|
3628
|
+
});
|
|
3629
|
+
|
|
3630
|
+
// ../../packages/document-api/src/styles/registry.ts
|
|
3631
|
+
function getPropertyDefinition(key, channel) {
|
|
3632
|
+
return PROPERTY_INDEX.get(`${channel}:${key}`);
|
|
3633
|
+
}
|
|
3634
|
+
var ST_VERTICAL_ALIGN_RUN, ST_EM, ST_TEXT_ALIGNMENT, ST_TEXT_DIRECTION, ST_TEXTBOX_TIGHT_WRAP, ST_TEXT_TRANSFORM, ST_JUSTIFICATION, FONT_FAMILY_SCHEMA, COLOR_SCHEMA, SPACING_SCHEMA, INDENT_SCHEMA, UNDERLINE_SCHEMA, BORDER_PROPERTIES_SCHEMA, SHADING_SCHEMA, LANG_SCHEMA, EAST_ASIAN_LAYOUT_SCHEMA, FIT_TEXT_SCHEMA, NUMBERING_PROPERTIES_SCHEMA, FRAME_PR_SCHEMA, PARAGRAPH_BORDERS_SCHEMA, TAB_STOP_SCHEMA, PROPERTY_REGISTRY, ALLOWED_KEYS_BY_CHANNEL, PROPERTY_INDEX, EXCLUDED_KEYS;
|
|
3635
|
+
var init_registry = __esm(() => {
|
|
3636
|
+
init_token_sets();
|
|
3637
|
+
ST_VERTICAL_ALIGN_RUN = ["superscript", "subscript", "baseline"];
|
|
3638
|
+
ST_EM = ["none", "dot", "comma", "circle", "sesame"];
|
|
3639
|
+
ST_TEXT_ALIGNMENT = ["top", "center", "baseline", "bottom", "auto"];
|
|
3640
|
+
ST_TEXT_DIRECTION = ["lrTb", "tbRl", "btLr", "lrTbV", "tbRlV", "tbLrV"];
|
|
3641
|
+
ST_TEXTBOX_TIGHT_WRAP = ["none", "allLines", "firstAndLastLine", "firstLineOnly", "lastLineOnly"];
|
|
3642
|
+
ST_TEXT_TRANSFORM = ["uppercase", "none"];
|
|
3643
|
+
ST_JUSTIFICATION = ["left", "center", "right", "justify", "distribute"];
|
|
3644
|
+
FONT_FAMILY_SCHEMA = {
|
|
3645
|
+
kind: "object",
|
|
3646
|
+
children: {
|
|
3647
|
+
hint: { kind: "string" },
|
|
3648
|
+
ascii: { kind: "string" },
|
|
3649
|
+
hAnsi: { kind: "string" },
|
|
3650
|
+
eastAsia: { kind: "string" },
|
|
3651
|
+
cs: { kind: "string" },
|
|
3652
|
+
val: { kind: "string" },
|
|
3653
|
+
asciiTheme: { kind: "string" },
|
|
3654
|
+
hAnsiTheme: { kind: "string" },
|
|
3655
|
+
eastAsiaTheme: { kind: "string" },
|
|
3656
|
+
cstheme: { kind: "string" }
|
|
3657
|
+
}
|
|
3658
|
+
};
|
|
3659
|
+
COLOR_SCHEMA = {
|
|
3660
|
+
kind: "object",
|
|
3661
|
+
children: {
|
|
3662
|
+
val: { kind: "string" },
|
|
3663
|
+
themeColor: { kind: "string" },
|
|
3664
|
+
themeTint: { kind: "string" },
|
|
3665
|
+
themeShade: { kind: "string" }
|
|
3666
|
+
}
|
|
3667
|
+
};
|
|
3668
|
+
SPACING_SCHEMA = {
|
|
3669
|
+
kind: "object",
|
|
3670
|
+
children: {
|
|
3671
|
+
after: { kind: "integer" },
|
|
3672
|
+
afterAutospacing: { kind: "boolean" },
|
|
3673
|
+
afterLines: { kind: "integer" },
|
|
3674
|
+
before: { kind: "integer" },
|
|
3675
|
+
beforeAutospacing: { kind: "boolean" },
|
|
3676
|
+
beforeLines: { kind: "integer" },
|
|
3677
|
+
line: { kind: "integer" },
|
|
3678
|
+
lineRule: { kind: "enum", values: ["auto", "exact", "atLeast"] }
|
|
3679
|
+
}
|
|
3680
|
+
};
|
|
3681
|
+
INDENT_SCHEMA = {
|
|
3682
|
+
kind: "object",
|
|
3683
|
+
children: {
|
|
3684
|
+
end: { kind: "integer" },
|
|
3685
|
+
endChars: { kind: "integer" },
|
|
3686
|
+
firstLine: { kind: "integer" },
|
|
3687
|
+
firstLineChars: { kind: "integer" },
|
|
3688
|
+
hanging: { kind: "integer" },
|
|
3689
|
+
hangingChars: { kind: "integer" },
|
|
3690
|
+
left: { kind: "integer" },
|
|
3691
|
+
leftChars: { kind: "integer" },
|
|
3692
|
+
right: { kind: "integer" },
|
|
3693
|
+
rightChars: { kind: "integer" },
|
|
3694
|
+
start: { kind: "integer" },
|
|
3695
|
+
startChars: { kind: "integer" }
|
|
3696
|
+
}
|
|
3697
|
+
};
|
|
3698
|
+
UNDERLINE_SCHEMA = {
|
|
3699
|
+
kind: "object",
|
|
3700
|
+
children: {
|
|
3701
|
+
val: { kind: "enum", values: [...ST_UNDERLINE_VALUES] },
|
|
3702
|
+
color: { kind: "string" },
|
|
3703
|
+
themeColor: { kind: "string" },
|
|
3704
|
+
themeTint: { kind: "string" },
|
|
3705
|
+
themeShade: { kind: "string" }
|
|
3706
|
+
}
|
|
3707
|
+
};
|
|
3708
|
+
BORDER_PROPERTIES_SCHEMA = {
|
|
3709
|
+
kind: "object",
|
|
3710
|
+
children: {
|
|
3711
|
+
val: { kind: "string" },
|
|
3712
|
+
color: { kind: "string" },
|
|
3713
|
+
themeColor: { kind: "string" },
|
|
3714
|
+
themeTint: { kind: "string" },
|
|
3715
|
+
themeShade: { kind: "string" },
|
|
3716
|
+
size: { kind: "integer" },
|
|
3717
|
+
space: { kind: "integer" },
|
|
3718
|
+
shadow: { kind: "boolean" },
|
|
3719
|
+
frame: { kind: "boolean" }
|
|
3720
|
+
}
|
|
3721
|
+
};
|
|
3722
|
+
SHADING_SCHEMA = {
|
|
3723
|
+
kind: "object",
|
|
3724
|
+
children: {
|
|
3725
|
+
color: { kind: "string" },
|
|
3726
|
+
fill: { kind: "string" },
|
|
3727
|
+
themeColor: { kind: "string" },
|
|
3728
|
+
themeFill: { kind: "string" },
|
|
3729
|
+
themeFillShade: { kind: "string" },
|
|
3730
|
+
themeFillTint: { kind: "string" },
|
|
3731
|
+
themeShade: { kind: "string" },
|
|
3732
|
+
themeTint: { kind: "string" },
|
|
3733
|
+
val: { kind: "string" }
|
|
3734
|
+
}
|
|
3735
|
+
};
|
|
3736
|
+
LANG_SCHEMA = {
|
|
3737
|
+
kind: "object",
|
|
3738
|
+
children: {
|
|
3739
|
+
val: { kind: "string" },
|
|
3740
|
+
eastAsia: { kind: "string" },
|
|
3741
|
+
bidi: { kind: "string" }
|
|
3742
|
+
}
|
|
3743
|
+
};
|
|
3744
|
+
EAST_ASIAN_LAYOUT_SCHEMA = {
|
|
3745
|
+
kind: "object",
|
|
3746
|
+
children: {
|
|
3747
|
+
id: { kind: "integer" },
|
|
3748
|
+
combine: { kind: "boolean" },
|
|
3749
|
+
combineBrackets: { kind: "string" },
|
|
3750
|
+
vert: { kind: "boolean" },
|
|
3751
|
+
vertCompress: { kind: "boolean" }
|
|
3752
|
+
}
|
|
3753
|
+
};
|
|
3754
|
+
FIT_TEXT_SCHEMA = {
|
|
3755
|
+
kind: "object",
|
|
3756
|
+
children: {
|
|
3757
|
+
val: { kind: "integer" },
|
|
3758
|
+
id: { kind: "integer" }
|
|
3759
|
+
}
|
|
3760
|
+
};
|
|
3761
|
+
NUMBERING_PROPERTIES_SCHEMA = {
|
|
3762
|
+
kind: "object",
|
|
3763
|
+
children: {
|
|
3764
|
+
ilvl: { kind: "integer" },
|
|
3765
|
+
numId: { kind: "integer" }
|
|
3766
|
+
}
|
|
3767
|
+
};
|
|
3768
|
+
FRAME_PR_SCHEMA = {
|
|
3769
|
+
kind: "object",
|
|
3770
|
+
children: {
|
|
3771
|
+
anchorLock: { kind: "boolean" },
|
|
3772
|
+
dropCap: { kind: "string" },
|
|
3773
|
+
h: { kind: "integer" },
|
|
3774
|
+
hAnchor: { kind: "string" },
|
|
3775
|
+
hRule: { kind: "string" },
|
|
3776
|
+
hSpace: { kind: "integer" },
|
|
3777
|
+
lines: { kind: "integer" },
|
|
3778
|
+
vAnchor: { kind: "string" },
|
|
3779
|
+
vSpace: { kind: "integer" },
|
|
3780
|
+
w: { kind: "integer" },
|
|
3781
|
+
wrap: { kind: "string" },
|
|
3782
|
+
x: { kind: "integer" },
|
|
3783
|
+
xAlign: { kind: "string" },
|
|
3784
|
+
y: { kind: "integer" },
|
|
3785
|
+
yAlign: { kind: "string" }
|
|
3786
|
+
}
|
|
3787
|
+
};
|
|
3788
|
+
PARAGRAPH_BORDERS_SCHEMA = {
|
|
3789
|
+
kind: "object",
|
|
3790
|
+
children: {
|
|
3791
|
+
top: BORDER_PROPERTIES_SCHEMA,
|
|
3792
|
+
bottom: BORDER_PROPERTIES_SCHEMA,
|
|
3793
|
+
left: BORDER_PROPERTIES_SCHEMA,
|
|
3794
|
+
right: BORDER_PROPERTIES_SCHEMA,
|
|
3795
|
+
between: BORDER_PROPERTIES_SCHEMA,
|
|
3796
|
+
bar: BORDER_PROPERTIES_SCHEMA
|
|
3797
|
+
}
|
|
3798
|
+
};
|
|
3799
|
+
TAB_STOP_SCHEMA = {
|
|
3800
|
+
kind: "array",
|
|
3801
|
+
item: {
|
|
3802
|
+
kind: "object",
|
|
3803
|
+
children: {
|
|
3804
|
+
tab: {
|
|
3805
|
+
kind: "object",
|
|
3806
|
+
children: {
|
|
3807
|
+
tabType: { kind: "string" },
|
|
3808
|
+
pos: { kind: "integer" },
|
|
3809
|
+
leader: { kind: "string" }
|
|
3810
|
+
}
|
|
3811
|
+
}
|
|
3812
|
+
}
|
|
3813
|
+
}
|
|
3814
|
+
};
|
|
3815
|
+
PROPERTY_REGISTRY = [
|
|
3816
|
+
{ key: "bold", channel: "run", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3817
|
+
{ key: "boldCs", channel: "run", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3818
|
+
{ key: "italic", channel: "run", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3819
|
+
{ key: "iCs", channel: "run", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3820
|
+
{ key: "smallCaps", channel: "run", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3821
|
+
{ key: "strike", channel: "run", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3822
|
+
{ key: "dstrike", channel: "run", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3823
|
+
{ key: "emboss", channel: "run", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3824
|
+
{ key: "imprint", channel: "run", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3825
|
+
{ key: "outline", channel: "run", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3826
|
+
{ key: "shadow", channel: "run", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3827
|
+
{ key: "vanish", channel: "run", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3828
|
+
{ key: "webHidden", channel: "run", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3829
|
+
{ key: "specVanish", channel: "run", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3830
|
+
{ key: "snapToGrid", channel: "run", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3831
|
+
{ key: "noProof", channel: "run", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3832
|
+
{ key: "fontSize", channel: "run", schema: { kind: "integer" }, mergeStrategy: "replace" },
|
|
3833
|
+
{ key: "fontSizeCs", channel: "run", schema: { kind: "integer" }, mergeStrategy: "replace" },
|
|
3834
|
+
{ key: "letterSpacing", channel: "run", schema: { kind: "integer" }, mergeStrategy: "replace" },
|
|
3835
|
+
{ key: "kern", channel: "run", schema: { kind: "integer" }, mergeStrategy: "replace" },
|
|
3836
|
+
{ key: "position", channel: "run", schema: { kind: "integer" }, mergeStrategy: "replace" },
|
|
3837
|
+
{ key: "w", channel: "run", schema: { kind: "integer", min: 1, max: 600 }, mergeStrategy: "replace" },
|
|
3838
|
+
{
|
|
3839
|
+
key: "textTransform",
|
|
3840
|
+
channel: "run",
|
|
3841
|
+
schema: { kind: "enum", values: [...ST_TEXT_TRANSFORM] },
|
|
3842
|
+
mergeStrategy: "replace"
|
|
3843
|
+
},
|
|
3844
|
+
{
|
|
3845
|
+
key: "vertAlign",
|
|
3846
|
+
channel: "run",
|
|
3847
|
+
schema: { kind: "enum", values: [...ST_VERTICAL_ALIGN_RUN] },
|
|
3848
|
+
mergeStrategy: "replace"
|
|
3849
|
+
},
|
|
3850
|
+
{ key: "em", channel: "run", schema: { kind: "enum", values: [...ST_EM] }, mergeStrategy: "replace" },
|
|
3851
|
+
{ key: "effect", channel: "run", schema: { kind: "string" }, mergeStrategy: "replace" },
|
|
3852
|
+
{ key: "fontFamily", channel: "run", schema: FONT_FAMILY_SCHEMA, mergeStrategy: "shallowMerge" },
|
|
3853
|
+
{ key: "color", channel: "run", schema: COLOR_SCHEMA, mergeStrategy: "shallowMerge" },
|
|
3854
|
+
{ key: "underline", channel: "run", schema: UNDERLINE_SCHEMA, mergeStrategy: "shallowMerge" },
|
|
3855
|
+
{ key: "borders", channel: "run", schema: BORDER_PROPERTIES_SCHEMA, mergeStrategy: "shallowMerge" },
|
|
3856
|
+
{ key: "shading", channel: "run", schema: SHADING_SCHEMA, mergeStrategy: "shallowMerge" },
|
|
3857
|
+
{ key: "lang", channel: "run", schema: LANG_SCHEMA, mergeStrategy: "shallowMerge" },
|
|
3858
|
+
{ key: "eastAsianLayout", channel: "run", schema: EAST_ASIAN_LAYOUT_SCHEMA, mergeStrategy: "shallowMerge" },
|
|
3859
|
+
{ key: "fitText", channel: "run", schema: FIT_TEXT_SCHEMA, mergeStrategy: "shallowMerge" },
|
|
3860
|
+
{ key: "keepLines", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3861
|
+
{ key: "keepNext", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3862
|
+
{ key: "widowControl", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3863
|
+
{ key: "contextualSpacing", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3864
|
+
{ key: "pageBreakBefore", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3865
|
+
{ key: "suppressAutoHyphens", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3866
|
+
{ key: "suppressLineNumbers", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3867
|
+
{ key: "suppressOverlap", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3868
|
+
{ key: "mirrorIndents", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3869
|
+
{ key: "wordWrap", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3870
|
+
{ key: "kinsoku", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3871
|
+
{ key: "overflowPunct", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3872
|
+
{ key: "topLinePunct", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3873
|
+
{ key: "autoSpaceDE", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3874
|
+
{ key: "autoSpaceDN", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3875
|
+
{ key: "adjustRightInd", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3876
|
+
{ key: "rightToLeft", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3877
|
+
{ key: "snapToGrid", channel: "paragraph", schema: { kind: "boolean" }, mergeStrategy: "replace" },
|
|
3878
|
+
{ key: "outlineLvl", channel: "paragraph", schema: { kind: "integer", min: 0, max: 9 }, mergeStrategy: "replace" },
|
|
3879
|
+
{
|
|
3880
|
+
key: "justification",
|
|
3881
|
+
channel: "paragraph",
|
|
3882
|
+
schema: { kind: "enum", values: [...ST_JUSTIFICATION] },
|
|
3883
|
+
mergeStrategy: "replace"
|
|
3884
|
+
},
|
|
3885
|
+
{
|
|
3886
|
+
key: "textAlignment",
|
|
3887
|
+
channel: "paragraph",
|
|
3888
|
+
schema: { kind: "enum", values: [...ST_TEXT_ALIGNMENT] },
|
|
3889
|
+
mergeStrategy: "replace"
|
|
3890
|
+
},
|
|
3891
|
+
{
|
|
3892
|
+
key: "textDirection",
|
|
3893
|
+
channel: "paragraph",
|
|
3894
|
+
schema: { kind: "enum", values: [...ST_TEXT_DIRECTION] },
|
|
3895
|
+
mergeStrategy: "replace"
|
|
3896
|
+
},
|
|
3897
|
+
{
|
|
3898
|
+
key: "textboxTightWrap",
|
|
3899
|
+
channel: "paragraph",
|
|
3900
|
+
schema: { kind: "enum", values: [...ST_TEXTBOX_TIGHT_WRAP] },
|
|
3901
|
+
mergeStrategy: "replace"
|
|
3902
|
+
},
|
|
3903
|
+
{ key: "spacing", channel: "paragraph", schema: SPACING_SCHEMA, mergeStrategy: "shallowMerge" },
|
|
3904
|
+
{ key: "indent", channel: "paragraph", schema: INDENT_SCHEMA, mergeStrategy: "shallowMerge" },
|
|
3905
|
+
{ key: "shading", channel: "paragraph", schema: SHADING_SCHEMA, mergeStrategy: "shallowMerge" },
|
|
3906
|
+
{
|
|
3907
|
+
key: "numberingProperties",
|
|
3908
|
+
channel: "paragraph",
|
|
3909
|
+
schema: NUMBERING_PROPERTIES_SCHEMA,
|
|
3910
|
+
mergeStrategy: "shallowMerge"
|
|
3911
|
+
},
|
|
3912
|
+
{ key: "framePr", channel: "paragraph", schema: FRAME_PR_SCHEMA, mergeStrategy: "shallowMerge" },
|
|
3913
|
+
{ key: "borders", channel: "paragraph", schema: PARAGRAPH_BORDERS_SCHEMA, mergeStrategy: "edgeMerge" },
|
|
3914
|
+
{ key: "tabStops", channel: "paragraph", schema: TAB_STOP_SCHEMA, mergeStrategy: "replace" }
|
|
3915
|
+
];
|
|
3916
|
+
ALLOWED_KEYS_BY_CHANNEL = {
|
|
3917
|
+
run: new Set(PROPERTY_REGISTRY.filter((d) => d.channel === "run").map((d) => d.key)),
|
|
3918
|
+
paragraph: new Set(PROPERTY_REGISTRY.filter((d) => d.channel === "paragraph").map((d) => d.key))
|
|
3919
|
+
};
|
|
3920
|
+
PROPERTY_INDEX = new Map(PROPERTY_REGISTRY.map((d) => [`${d.channel}:${d.key}`, d]));
|
|
3921
|
+
EXCLUDED_KEYS = {
|
|
3922
|
+
run: new Map([
|
|
3923
|
+
["cs", "w:cs"],
|
|
3924
|
+
["highlight", "w:highlight"],
|
|
3925
|
+
["oMath", "w:oMath"],
|
|
3926
|
+
["rPrChange", "w:rPrChange"],
|
|
3927
|
+
["rStyle", "w:rStyle"],
|
|
3928
|
+
["rtl", "w:rtl"]
|
|
3929
|
+
]),
|
|
3930
|
+
paragraph: new Map([
|
|
3931
|
+
["cnfStyle", "w:cnfStyle"],
|
|
3932
|
+
["divId", "w:divId"],
|
|
3933
|
+
["pPrChange", "w:pPrChange"],
|
|
3934
|
+
["pStyle", "w:pStyle"],
|
|
3935
|
+
["runProperties", "w:pPr/w:rPr"],
|
|
3936
|
+
["sectPr", "w:sectPr"]
|
|
3937
|
+
])
|
|
3938
|
+
};
|
|
3939
|
+
});
|
|
3940
|
+
|
|
3941
|
+
// ../../packages/document-api/src/styles/schema.ts
|
|
3942
|
+
function toJsonSchema(schema) {
|
|
3943
|
+
switch (schema.kind) {
|
|
3944
|
+
case "boolean":
|
|
3945
|
+
return { type: "boolean" };
|
|
3946
|
+
case "integer": {
|
|
3947
|
+
const s = { type: "integer" };
|
|
3948
|
+
if (schema.min !== undefined)
|
|
3949
|
+
s.minimum = schema.min;
|
|
3950
|
+
if (schema.max !== undefined)
|
|
3951
|
+
s.maximum = schema.max;
|
|
3952
|
+
return s;
|
|
3953
|
+
}
|
|
3954
|
+
case "enum":
|
|
3955
|
+
return { enum: [...schema.values] };
|
|
3956
|
+
case "string":
|
|
3957
|
+
return { type: "string", minLength: 1 };
|
|
3958
|
+
case "object": {
|
|
3959
|
+
const properties = {};
|
|
3960
|
+
for (const [key, childSchema] of Object.entries(schema.children)) {
|
|
3961
|
+
properties[key] = toJsonSchema(childSchema);
|
|
3962
|
+
}
|
|
3963
|
+
return {
|
|
3964
|
+
type: "object",
|
|
3965
|
+
properties,
|
|
3966
|
+
additionalProperties: false,
|
|
3967
|
+
minProperties: 1
|
|
3968
|
+
};
|
|
3969
|
+
}
|
|
3970
|
+
case "array":
|
|
3971
|
+
return {
|
|
3972
|
+
type: "array",
|
|
3973
|
+
items: toJsonSchema(schema.item)
|
|
3974
|
+
};
|
|
3975
|
+
}
|
|
3976
|
+
}
|
|
3977
|
+
function buildPatchSchema(channel) {
|
|
3978
|
+
const properties = {};
|
|
3979
|
+
for (const def of PROPERTY_REGISTRY) {
|
|
3980
|
+
if (def.channel !== channel)
|
|
3981
|
+
continue;
|
|
3982
|
+
properties[def.key] = toJsonSchema(def.schema);
|
|
3983
|
+
}
|
|
3984
|
+
return {
|
|
3985
|
+
type: "object",
|
|
3986
|
+
properties,
|
|
3987
|
+
additionalProperties: false,
|
|
3988
|
+
minProperties: 1
|
|
3989
|
+
};
|
|
3990
|
+
}
|
|
3991
|
+
function buildStateSchema() {
|
|
3992
|
+
const properties = {};
|
|
3993
|
+
for (const def of PROPERTY_REGISTRY) {
|
|
3994
|
+
const schema = def.schema;
|
|
3995
|
+
switch (schema.kind) {
|
|
3996
|
+
case "boolean":
|
|
3997
|
+
properties[def.key] = { enum: ["on", "off", "inherit"] };
|
|
3998
|
+
break;
|
|
3999
|
+
case "integer":
|
|
4000
|
+
properties[def.key] = { oneOf: [{ type: "number" }, { const: "inherit" }] };
|
|
4001
|
+
break;
|
|
4002
|
+
case "enum":
|
|
4003
|
+
case "string":
|
|
4004
|
+
properties[def.key] = { oneOf: [{ type: "string" }, { const: "inherit" }] };
|
|
4005
|
+
break;
|
|
4006
|
+
case "object":
|
|
4007
|
+
properties[def.key] = { oneOf: [{ type: "object" }, { const: "inherit" }] };
|
|
4008
|
+
break;
|
|
4009
|
+
case "array":
|
|
4010
|
+
properties[def.key] = { oneOf: [{ type: "array" }, { const: "inherit" }] };
|
|
4011
|
+
break;
|
|
4012
|
+
}
|
|
4013
|
+
}
|
|
4014
|
+
return {
|
|
4015
|
+
type: "object",
|
|
4016
|
+
properties,
|
|
4017
|
+
additionalProperties: false
|
|
4018
|
+
};
|
|
4019
|
+
}
|
|
4020
|
+
var init_schema = __esm(() => {
|
|
4021
|
+
init_registry();
|
|
4022
|
+
});
|
|
4023
|
+
|
|
4024
|
+
// ../../packages/document-api/src/styles/validation.ts
|
|
4025
|
+
function validateValue(path, value, schema) {
|
|
4026
|
+
switch (schema.kind) {
|
|
4027
|
+
case "boolean":
|
|
4028
|
+
if (typeof value !== "boolean") {
|
|
4029
|
+
throw new DocumentApiValidationError("INVALID_INPUT", `${path} must be a boolean, got ${typeof value}.`, {
|
|
4030
|
+
field: path,
|
|
4031
|
+
value
|
|
4032
|
+
});
|
|
4033
|
+
}
|
|
4034
|
+
return;
|
|
4035
|
+
case "integer": {
|
|
4036
|
+
if (typeof value !== "number" || !Number.isFinite(value) || !Number.isInteger(value)) {
|
|
4037
|
+
throw new DocumentApiValidationError("INVALID_INPUT", `${path} must be a finite integer, got ${JSON.stringify(value)}.`, { field: path, value });
|
|
4038
|
+
}
|
|
4039
|
+
if (schema.min !== undefined && value < schema.min) {
|
|
4040
|
+
throw new DocumentApiValidationError("INVALID_INPUT", `${path} must be >= ${schema.min}, got ${value}.`, {
|
|
4041
|
+
field: path,
|
|
4042
|
+
value
|
|
4043
|
+
});
|
|
4044
|
+
}
|
|
4045
|
+
if (schema.max !== undefined && value > schema.max) {
|
|
4046
|
+
throw new DocumentApiValidationError("INVALID_INPUT", `${path} must be <= ${schema.max}, got ${value}.`, {
|
|
4047
|
+
field: path,
|
|
4048
|
+
value
|
|
4049
|
+
});
|
|
4050
|
+
}
|
|
4051
|
+
return;
|
|
4052
|
+
}
|
|
4053
|
+
case "enum":
|
|
4054
|
+
if (typeof value !== "string" || !schema.values.includes(value)) {
|
|
4055
|
+
throw new DocumentApiValidationError("INVALID_INPUT", `${path} must be one of: ${schema.values.join(", ")}. Got ${JSON.stringify(value)}.`, { field: path, value });
|
|
4056
|
+
}
|
|
4057
|
+
return;
|
|
4058
|
+
case "string":
|
|
4059
|
+
if (typeof value !== "string" || value.length === 0) {
|
|
4060
|
+
throw new DocumentApiValidationError("INVALID_INPUT", `${path} must be a non-empty string, got ${JSON.stringify(value)}.`, { field: path, value });
|
|
4061
|
+
}
|
|
4062
|
+
return;
|
|
4063
|
+
case "object":
|
|
4064
|
+
validateObjectValue(path, value, schema.children);
|
|
4065
|
+
return;
|
|
4066
|
+
case "array":
|
|
4067
|
+
validateArrayValue(path, value, schema.item);
|
|
4068
|
+
return;
|
|
4069
|
+
}
|
|
4070
|
+
}
|
|
4071
|
+
function validateObjectValue(path, value, children) {
|
|
4072
|
+
if (!isRecord(value)) {
|
|
4073
|
+
throw new DocumentApiValidationError("INVALID_INPUT", `${path} must be a non-null object, got ${typeof value}.`, {
|
|
4074
|
+
field: path,
|
|
4075
|
+
value
|
|
4076
|
+
});
|
|
4077
|
+
}
|
|
4078
|
+
const allowedKeys = new Set(Object.keys(children));
|
|
4079
|
+
const keys = Object.keys(value);
|
|
4080
|
+
if (keys.length === 0) {
|
|
4081
|
+
throw new DocumentApiValidationError("INVALID_INPUT", `${path} must include at least one property.`, {
|
|
4082
|
+
field: path
|
|
4083
|
+
});
|
|
4084
|
+
}
|
|
4085
|
+
for (const key of keys) {
|
|
4086
|
+
if (!allowedKeys.has(key)) {
|
|
4087
|
+
throw new DocumentApiValidationError("INVALID_INPUT", `Unknown key "${key}" on ${path}. Allowed keys: ${[...allowedKeys].join(", ")}.`, { field: path, key });
|
|
4088
|
+
}
|
|
4089
|
+
validateValue(`${path}.${key}`, value[key], children[key]);
|
|
4090
|
+
}
|
|
4091
|
+
}
|
|
4092
|
+
function validateArrayValue(path, value, itemSchema) {
|
|
4093
|
+
if (!Array.isArray(value)) {
|
|
4094
|
+
throw new DocumentApiValidationError("INVALID_INPUT", `${path} must be an array, got ${typeof value}.`, {
|
|
4095
|
+
field: path,
|
|
4096
|
+
value
|
|
4097
|
+
});
|
|
4098
|
+
}
|
|
4099
|
+
for (let i = 0;i < value.length; i++) {
|
|
4100
|
+
validateValue(`${path}[${i}]`, value[i], itemSchema);
|
|
4101
|
+
}
|
|
4102
|
+
}
|
|
4103
|
+
function validateStylesApplyInput(input) {
|
|
4104
|
+
if (!isRecord(input)) {
|
|
4105
|
+
throw new DocumentApiValidationError("INVALID_INPUT", "styles.apply input must be a non-null object.");
|
|
4106
|
+
}
|
|
4107
|
+
assertNoUnknownFields2(input, INPUT_ALLOWED_KEYS);
|
|
4108
|
+
const { target, patch } = input;
|
|
4109
|
+
if (target === undefined || target === null) {
|
|
4110
|
+
throw new DocumentApiValidationError("INVALID_TARGET", "styles.apply requires a target object.");
|
|
4111
|
+
}
|
|
4112
|
+
if (!isRecord(target)) {
|
|
4113
|
+
throw new DocumentApiValidationError("INVALID_TARGET", "target must be a non-null object.", {
|
|
4114
|
+
field: "target",
|
|
4115
|
+
value: target
|
|
4116
|
+
});
|
|
4117
|
+
}
|
|
4118
|
+
assertNoUnknownFields2(target, TARGET_ALLOWED_KEYS, "target");
|
|
4119
|
+
if (target.scope !== "docDefaults") {
|
|
4120
|
+
throw new DocumentApiValidationError("INVALID_TARGET", `target.scope must be "docDefaults", got ${JSON.stringify(target.scope)}.`, { field: "target.scope", value: target.scope });
|
|
4121
|
+
}
|
|
4122
|
+
if (!VALID_CHANNELS.has(target.channel)) {
|
|
4123
|
+
throw new DocumentApiValidationError("INVALID_TARGET", `target.channel must be "run" or "paragraph", got ${JSON.stringify(target.channel)}.`, { field: "target.channel", value: target.channel });
|
|
4124
|
+
}
|
|
4125
|
+
const channel = target.channel;
|
|
4126
|
+
if (patch === undefined || patch === null) {
|
|
4127
|
+
throw new DocumentApiValidationError("INVALID_INPUT", "styles.apply requires a patch object.");
|
|
4128
|
+
}
|
|
4129
|
+
if (!isRecord(patch)) {
|
|
4130
|
+
throw new DocumentApiValidationError("INVALID_INPUT", "patch must be a non-null object.", {
|
|
4131
|
+
field: "patch",
|
|
4132
|
+
value: patch
|
|
4133
|
+
});
|
|
4134
|
+
}
|
|
4135
|
+
const patchKeys = Object.keys(patch);
|
|
4136
|
+
if (patchKeys.length === 0) {
|
|
4137
|
+
throw new DocumentApiValidationError("INVALID_INPUT", "patch must include at least one property.");
|
|
4138
|
+
}
|
|
4139
|
+
const allowedKeys = ALLOWED_KEYS_BY_CHANNEL[channel];
|
|
4140
|
+
const otherChannel = channel === "run" ? "paragraph" : "run";
|
|
4141
|
+
for (const key of patchKeys) {
|
|
4142
|
+
const excludedEntry = EXCLUDED_KEYS[channel].get(key);
|
|
4143
|
+
if (excludedEntry !== undefined) {
|
|
4144
|
+
throw new DocumentApiValidationError("INVALID_INPUT", `patch key '${key}' is not valid in Word docDefaults (${excludedEntry}). This is an intentional restriction per MS-OI29500.`, { field: "patch", key, reason: "excluded_docdefaults_key" });
|
|
4145
|
+
}
|
|
4146
|
+
if (!allowedKeys.has(key)) {
|
|
4147
|
+
const belongsToOther = ALLOWED_KEYS_BY_CHANNEL[otherChannel].has(key);
|
|
4148
|
+
if (belongsToOther) {
|
|
4149
|
+
throw new DocumentApiValidationError("INVALID_INPUT", `Unknown patch key "${key}" for channel "${channel}". "${key}" is a ${otherChannel}-channel property. Allowed keys: ${[...allowedKeys].join(", ")}.`, { field: "patch", key });
|
|
4150
|
+
}
|
|
4151
|
+
const otherExcluded = EXCLUDED_KEYS[otherChannel].get(key);
|
|
4152
|
+
if (otherExcluded !== undefined) {
|
|
4153
|
+
throw new DocumentApiValidationError("INVALID_INPUT", `patch key '${key}' is not valid in Word docDefaults (${otherExcluded}). This is an intentional restriction per MS-OI29500.`, { field: "patch", key, reason: "excluded_docdefaults_key" });
|
|
4154
|
+
}
|
|
4155
|
+
throw new DocumentApiValidationError("INVALID_INPUT", `Unknown patch key "${key}" for channel "${channel}". Allowed keys: ${[...allowedKeys].join(", ")}.`, { field: "patch", key });
|
|
4156
|
+
}
|
|
4157
|
+
const def = getPropertyDefinition(key, channel);
|
|
4158
|
+
if (def)
|
|
4159
|
+
validateValue(`patch.${key}`, patch[key], def.schema);
|
|
4160
|
+
}
|
|
4161
|
+
}
|
|
4162
|
+
function validateStylesApplyOptions(options) {
|
|
4163
|
+
if (options === undefined || options === null)
|
|
4164
|
+
return;
|
|
4165
|
+
if (!isRecord(options)) {
|
|
4166
|
+
throw new DocumentApiValidationError("INVALID_INPUT", "styles.apply options must be a non-null object.");
|
|
4167
|
+
}
|
|
4168
|
+
for (const key of Object.keys(options)) {
|
|
4169
|
+
if (!OPTIONS_ALLOWED_KEYS.has(key)) {
|
|
4170
|
+
throw new DocumentApiValidationError("INVALID_INPUT", `Unknown options key "${key}". Allowed keys: ${[...OPTIONS_ALLOWED_KEYS].join(", ")}.`, { field: "options", key });
|
|
4171
|
+
}
|
|
4172
|
+
}
|
|
4173
|
+
if (options.dryRun !== undefined && typeof options.dryRun !== "boolean") {
|
|
4174
|
+
throw new DocumentApiValidationError("INVALID_INPUT", "options.dryRun must be a boolean.", {
|
|
4175
|
+
field: "options.dryRun",
|
|
4176
|
+
value: options.dryRun
|
|
4177
|
+
});
|
|
4178
|
+
}
|
|
4179
|
+
if (options.expectedRevision !== undefined && typeof options.expectedRevision !== "string") {
|
|
4180
|
+
throw new DocumentApiValidationError("INVALID_INPUT", "options.expectedRevision must be a string.", {
|
|
4181
|
+
field: "options.expectedRevision",
|
|
4182
|
+
value: options.expectedRevision
|
|
4183
|
+
});
|
|
4184
|
+
}
|
|
4185
|
+
}
|
|
4186
|
+
function assertNoUnknownFields2(obj, allowlist, prefix) {
|
|
4187
|
+
for (const key of Object.keys(obj)) {
|
|
4188
|
+
if (!allowlist.has(key)) {
|
|
4189
|
+
const location2 = prefix ? `${prefix}.${key}` : key;
|
|
4190
|
+
throw new DocumentApiValidationError("INVALID_INPUT", `Unknown field "${location2}" on styles.apply input. Allowed fields: ${[...allowlist].join(", ")}.`, { field: location2 });
|
|
4191
|
+
}
|
|
4192
|
+
}
|
|
4193
|
+
}
|
|
4194
|
+
var INPUT_ALLOWED_KEYS, TARGET_ALLOWED_KEYS, OPTIONS_ALLOWED_KEYS, VALID_CHANNELS;
|
|
4195
|
+
var init_validation = __esm(() => {
|
|
4196
|
+
init_errors2();
|
|
4197
|
+
init_validation_primitives();
|
|
4198
|
+
init_registry();
|
|
4199
|
+
INPUT_ALLOWED_KEYS = new Set(["target", "patch"]);
|
|
4200
|
+
TARGET_ALLOWED_KEYS = new Set(["scope", "channel"]);
|
|
4201
|
+
OPTIONS_ALLOWED_KEYS = new Set(["dryRun", "expectedRevision"]);
|
|
4202
|
+
VALID_CHANNELS = new Set(["run", "paragraph"]);
|
|
4203
|
+
});
|
|
4204
|
+
|
|
4205
|
+
// ../../packages/document-api/src/styles/apply.ts
|
|
4206
|
+
function normalizeOptions(options) {
|
|
4207
|
+
return {
|
|
4208
|
+
dryRun: options?.dryRun ?? false,
|
|
4209
|
+
expectedRevision: options?.expectedRevision
|
|
4210
|
+
};
|
|
4211
|
+
}
|
|
4212
|
+
function executeStylesApply(adapter, input, options) {
|
|
4213
|
+
validateStylesApplyInput(input);
|
|
4214
|
+
validateStylesApplyOptions(options);
|
|
4215
|
+
return adapter.apply(input, normalizeOptions(options));
|
|
4216
|
+
}
|
|
4217
|
+
var init_apply = __esm(() => {
|
|
4218
|
+
init_validation();
|
|
4219
|
+
});
|
|
4220
|
+
|
|
4221
|
+
// ../../packages/document-api/src/styles/index.ts
|
|
4222
|
+
var init_styles = __esm(() => {
|
|
4223
|
+
init_registry();
|
|
4224
|
+
init_schema();
|
|
4225
|
+
init_apply();
|
|
4226
|
+
init_validation();
|
|
4227
|
+
});
|
|
4228
|
+
|
|
3580
4229
|
// ../../packages/document-api/src/contract/schemas.ts
|
|
3581
4230
|
function objectSchema(properties, required = []) {
|
|
3582
4231
|
const schema = {
|
|
@@ -3825,6 +4474,7 @@ var init_schemas = __esm(() => {
|
|
|
3825
4474
|
init_inline_run_patch();
|
|
3826
4475
|
init_style_policy_types();
|
|
3827
4476
|
init_paragraphs();
|
|
4477
|
+
init_styles();
|
|
3828
4478
|
nodeTypeValues = NODE_TYPES;
|
|
3829
4479
|
blockNodeTypeValues = BLOCK_NODE_TYPES;
|
|
3830
4480
|
deletableBlockNodeTypeValues = DELETABLE_BLOCK_NODE_TYPES;
|
|
@@ -4852,88 +5502,16 @@ var init_schemas = __esm(() => {
|
|
|
4852
5502
|
failure: paragraphMutationFailureSchemaFor("format.paragraph.clearShading")
|
|
4853
5503
|
},
|
|
4854
5504
|
"styles.apply": (() => {
|
|
4855
|
-
const fontFamilySchema = {
|
|
4856
|
-
...objectSchema({
|
|
4857
|
-
hint: { type: "string" },
|
|
4858
|
-
ascii: { type: "string" },
|
|
4859
|
-
hAnsi: { type: "string" },
|
|
4860
|
-
eastAsia: { type: "string" },
|
|
4861
|
-
cs: { type: "string" },
|
|
4862
|
-
val: { type: "string" },
|
|
4863
|
-
asciiTheme: { type: "string" },
|
|
4864
|
-
hAnsiTheme: { type: "string" },
|
|
4865
|
-
eastAsiaTheme: { type: "string" },
|
|
4866
|
-
cstheme: { type: "string" }
|
|
4867
|
-
}, []),
|
|
4868
|
-
minProperties: 1
|
|
4869
|
-
};
|
|
4870
|
-
const colorSchema = {
|
|
4871
|
-
...objectSchema({
|
|
4872
|
-
val: { type: "string" },
|
|
4873
|
-
themeColor: { type: "string" },
|
|
4874
|
-
themeTint: { type: "string" },
|
|
4875
|
-
themeShade: { type: "string" }
|
|
4876
|
-
}, []),
|
|
4877
|
-
minProperties: 1
|
|
4878
|
-
};
|
|
4879
|
-
const spacingSchema = {
|
|
4880
|
-
...objectSchema({
|
|
4881
|
-
after: { type: "integer" },
|
|
4882
|
-
afterAutospacing: { type: "boolean" },
|
|
4883
|
-
afterLines: { type: "integer" },
|
|
4884
|
-
before: { type: "integer" },
|
|
4885
|
-
beforeAutospacing: { type: "boolean" },
|
|
4886
|
-
beforeLines: { type: "integer" },
|
|
4887
|
-
line: { type: "integer" },
|
|
4888
|
-
lineRule: { enum: ["auto", "exact", "atLeast"] }
|
|
4889
|
-
}, []),
|
|
4890
|
-
minProperties: 1
|
|
4891
|
-
};
|
|
4892
|
-
const indentSchema = {
|
|
4893
|
-
...objectSchema({
|
|
4894
|
-
end: { type: "integer" },
|
|
4895
|
-
endChars: { type: "integer" },
|
|
4896
|
-
firstLine: { type: "integer" },
|
|
4897
|
-
firstLineChars: { type: "integer" },
|
|
4898
|
-
hanging: { type: "integer" },
|
|
4899
|
-
hangingChars: { type: "integer" },
|
|
4900
|
-
left: { type: "integer" },
|
|
4901
|
-
leftChars: { type: "integer" },
|
|
4902
|
-
right: { type: "integer" },
|
|
4903
|
-
rightChars: { type: "integer" },
|
|
4904
|
-
start: { type: "integer" },
|
|
4905
|
-
startChars: { type: "integer" }
|
|
4906
|
-
}, []),
|
|
4907
|
-
minProperties: 1
|
|
4908
|
-
};
|
|
4909
5505
|
const runInputSchema = objectSchema({
|
|
4910
5506
|
target: objectSchema({ scope: { const: "docDefaults" }, channel: { const: "run" } }, ["scope", "channel"]),
|
|
4911
|
-
patch:
|
|
4912
|
-
...objectSchema({
|
|
4913
|
-
bold: { type: "boolean" },
|
|
4914
|
-
italic: { type: "boolean" },
|
|
4915
|
-
fontSize: { type: "integer" },
|
|
4916
|
-
fontSizeCs: { type: "integer" },
|
|
4917
|
-
letterSpacing: { type: "integer" },
|
|
4918
|
-
fontFamily: fontFamilySchema,
|
|
4919
|
-
color: colorSchema
|
|
4920
|
-
}, []),
|
|
4921
|
-
minProperties: 1
|
|
4922
|
-
}
|
|
5507
|
+
patch: buildPatchSchema("run")
|
|
4923
5508
|
}, ["target", "patch"]);
|
|
4924
5509
|
const paragraphInputSchema = objectSchema({
|
|
4925
5510
|
target: objectSchema({ scope: { const: "docDefaults" }, channel: { const: "paragraph" } }, [
|
|
4926
5511
|
"scope",
|
|
4927
5512
|
"channel"
|
|
4928
5513
|
]),
|
|
4929
|
-
patch:
|
|
4930
|
-
...objectSchema({
|
|
4931
|
-
justification: { enum: ["left", "center", "right", "justify", "distribute"] },
|
|
4932
|
-
spacing: spacingSchema,
|
|
4933
|
-
indent: indentSchema
|
|
4934
|
-
}, []),
|
|
4935
|
-
minProperties: 1
|
|
4936
|
-
}
|
|
5514
|
+
patch: buildPatchSchema("paragraph")
|
|
4937
5515
|
}, ["target", "patch"]);
|
|
4938
5516
|
const stylesTargetResolutionSchema = objectSchema({
|
|
4939
5517
|
scope: { const: "docDefaults" },
|
|
@@ -4941,26 +5519,7 @@ var init_schemas = __esm(() => {
|
|
|
4941
5519
|
xmlPart: { const: "word/styles.xml" },
|
|
4942
5520
|
xmlPath: { enum: ["w:styles/w:docDefaults/w:rPrDefault/w:rPr", "w:styles/w:docDefaults/w:pPrDefault/w:pPr"] }
|
|
4943
5521
|
}, ["scope", "channel", "xmlPart", "xmlPath"]);
|
|
4944
|
-
const
|
|
4945
|
-
const numberOrInheritSchema = { oneOf: [{ type: "number" }, { const: "inherit" }] };
|
|
4946
|
-
const stringOrInheritSchema = { oneOf: [{ type: "string" }, { const: "inherit" }] };
|
|
4947
|
-
const objectOrInheritSchema = { oneOf: [{ type: "object" }, { const: "inherit" }] };
|
|
4948
|
-
const stylesStateSchema = {
|
|
4949
|
-
type: "object",
|
|
4950
|
-
properties: {
|
|
4951
|
-
bold: booleanStateSchema,
|
|
4952
|
-
italic: booleanStateSchema,
|
|
4953
|
-
fontSize: numberOrInheritSchema,
|
|
4954
|
-
fontSizeCs: numberOrInheritSchema,
|
|
4955
|
-
letterSpacing: numberOrInheritSchema,
|
|
4956
|
-
fontFamily: objectOrInheritSchema,
|
|
4957
|
-
color: objectOrInheritSchema,
|
|
4958
|
-
justification: stringOrInheritSchema,
|
|
4959
|
-
spacing: objectOrInheritSchema,
|
|
4960
|
-
indent: objectOrInheritSchema
|
|
4961
|
-
},
|
|
4962
|
-
additionalProperties: false
|
|
4963
|
-
};
|
|
5522
|
+
const stylesStateSchema = buildStateSchema();
|
|
4964
5523
|
const stylesSuccessSchema = objectSchema({
|
|
4965
5524
|
success: { const: true },
|
|
4966
5525
|
changed: { type: "boolean" },
|
|
@@ -6653,56 +7212,6 @@ var init_capabilities = __esm(() => {
|
|
|
6653
7212
|
];
|
|
6654
7213
|
});
|
|
6655
7214
|
|
|
6656
|
-
// ../../packages/document-api/src/inline-semantics/token-sets.ts
|
|
6657
|
-
var ST_ON_OFF_VALUES, ST_ON_OFF_VALUE_SET, ST_ON_OFF_ON_VALUES, ST_ON_OFF_OFF_VALUES, ST_UNDERLINE_VALUES, ST_UNDERLINE_VALUE_SET, ST_THEME_COLOR_VALUES, ST_THEME_COLOR_VALUE_SET;
|
|
6658
|
-
var init_token_sets = __esm(() => {
|
|
6659
|
-
ST_ON_OFF_VALUES = ["true", "false", "1", "0", "on", "off"];
|
|
6660
|
-
ST_ON_OFF_VALUE_SET = new Set(ST_ON_OFF_VALUES);
|
|
6661
|
-
ST_ON_OFF_ON_VALUES = new Set(["true", "1", "on"]);
|
|
6662
|
-
ST_ON_OFF_OFF_VALUES = new Set(["false", "0", "off"]);
|
|
6663
|
-
ST_UNDERLINE_VALUES = [
|
|
6664
|
-
"single",
|
|
6665
|
-
"double",
|
|
6666
|
-
"thick",
|
|
6667
|
-
"dotted",
|
|
6668
|
-
"dottedHeavy",
|
|
6669
|
-
"dash",
|
|
6670
|
-
"dashedHeavy",
|
|
6671
|
-
"dashLong",
|
|
6672
|
-
"dashLongHeavy",
|
|
6673
|
-
"dotDash",
|
|
6674
|
-
"dashDotHeavy",
|
|
6675
|
-
"dotDotDash",
|
|
6676
|
-
"dashDotDotHeavy",
|
|
6677
|
-
"wave",
|
|
6678
|
-
"wavyHeavy",
|
|
6679
|
-
"wavyDouble",
|
|
6680
|
-
"words",
|
|
6681
|
-
"none"
|
|
6682
|
-
];
|
|
6683
|
-
ST_UNDERLINE_VALUE_SET = new Set(ST_UNDERLINE_VALUES);
|
|
6684
|
-
ST_THEME_COLOR_VALUES = [
|
|
6685
|
-
"dark1",
|
|
6686
|
-
"light1",
|
|
6687
|
-
"dark2",
|
|
6688
|
-
"light2",
|
|
6689
|
-
"accent1",
|
|
6690
|
-
"accent2",
|
|
6691
|
-
"accent3",
|
|
6692
|
-
"accent4",
|
|
6693
|
-
"accent5",
|
|
6694
|
-
"accent6",
|
|
6695
|
-
"hyperlink",
|
|
6696
|
-
"followedHyperlink",
|
|
6697
|
-
"background1",
|
|
6698
|
-
"text1",
|
|
6699
|
-
"background2",
|
|
6700
|
-
"text2",
|
|
6701
|
-
"none"
|
|
6702
|
-
];
|
|
6703
|
-
ST_THEME_COLOR_VALUE_SET = new Set(ST_THEME_COLOR_VALUES);
|
|
6704
|
-
});
|
|
6705
|
-
|
|
6706
7215
|
// ../../packages/document-api/src/inline-semantics/token-parsers.ts
|
|
6707
7216
|
var init_token_parsers = __esm(() => {
|
|
6708
7217
|
init_token_sets();
|
|
@@ -6959,250 +7468,6 @@ var init_format = __esm(() => {
|
|
|
6959
7468
|
INLINE_ALIAS_INPUT_ALLOWED_KEYS = new Set(["target", "value"]);
|
|
6960
7469
|
});
|
|
6961
7470
|
|
|
6962
|
-
// ../../packages/document-api/src/styles/styles.ts
|
|
6963
|
-
function getPropertyDefinition(key, channel) {
|
|
6964
|
-
return PROPERTY_REGISTRY.find((d) => d.key === key && d.channel === channel);
|
|
6965
|
-
}
|
|
6966
|
-
function validateBooleanValue(key, value) {
|
|
6967
|
-
if (typeof value !== "boolean") {
|
|
6968
|
-
throw new DocumentApiValidationError("INVALID_INPUT", `patch.${key} must be a boolean, got ${typeof value}.`, {
|
|
6969
|
-
field: "patch",
|
|
6970
|
-
key,
|
|
6971
|
-
value
|
|
6972
|
-
});
|
|
6973
|
-
}
|
|
6974
|
-
}
|
|
6975
|
-
function validateIntegerValue(key, value) {
|
|
6976
|
-
if (typeof value !== "number" || !Number.isFinite(value) || !Number.isInteger(value)) {
|
|
6977
|
-
throw new DocumentApiValidationError("INVALID_INPUT", `patch.${key} must be a finite integer, got ${JSON.stringify(value)}.`, { field: "patch", key, value });
|
|
6978
|
-
}
|
|
6979
|
-
}
|
|
6980
|
-
function validateEnumValue(key, value, allowed) {
|
|
6981
|
-
if (typeof value !== "string" || !allowed.includes(value)) {
|
|
6982
|
-
throw new DocumentApiValidationError("INVALID_INPUT", `patch.${key} must be one of: ${allowed.join(", ")}. Got ${JSON.stringify(value)}.`, { field: "patch", key, value });
|
|
6983
|
-
}
|
|
6984
|
-
}
|
|
6985
|
-
function validateSubKeyValue(objectKey, subKey, value, subKeyType) {
|
|
6986
|
-
if (subKeyType === "string") {
|
|
6987
|
-
if (typeof value !== "string") {
|
|
6988
|
-
throw new DocumentApiValidationError("INVALID_INPUT", `patch.${objectKey}.${subKey} must be a string, got ${typeof value}.`, { field: `patch.${objectKey}`, key: subKey, value });
|
|
6989
|
-
}
|
|
6990
|
-
return;
|
|
6991
|
-
}
|
|
6992
|
-
if (subKeyType === "integer") {
|
|
6993
|
-
if (typeof value !== "number" || !Number.isFinite(value) || !Number.isInteger(value)) {
|
|
6994
|
-
throw new DocumentApiValidationError("INVALID_INPUT", `patch.${objectKey}.${subKey} must be a finite integer, got ${JSON.stringify(value)}.`, { field: `patch.${objectKey}`, key: subKey, value });
|
|
6995
|
-
}
|
|
6996
|
-
return;
|
|
6997
|
-
}
|
|
6998
|
-
if (subKeyType === "boolean") {
|
|
6999
|
-
if (typeof value !== "boolean") {
|
|
7000
|
-
throw new DocumentApiValidationError("INVALID_INPUT", `patch.${objectKey}.${subKey} must be a boolean, got ${typeof value}.`, { field: `patch.${objectKey}`, key: subKey, value });
|
|
7001
|
-
}
|
|
7002
|
-
return;
|
|
7003
|
-
}
|
|
7004
|
-
if (subKeyType.startsWith("enum:")) {
|
|
7005
|
-
const allowed = subKeyType.slice(5).split(",");
|
|
7006
|
-
if (typeof value !== "string" || !allowed.includes(value)) {
|
|
7007
|
-
throw new DocumentApiValidationError("INVALID_INPUT", `patch.${objectKey}.${subKey} must be one of: ${allowed.join(", ")}. Got ${JSON.stringify(value)}.`, { field: `patch.${objectKey}`, key: subKey, value });
|
|
7008
|
-
}
|
|
7009
|
-
}
|
|
7010
|
-
}
|
|
7011
|
-
function validateObjectValue(key, value, schema) {
|
|
7012
|
-
if (!isRecord(value)) {
|
|
7013
|
-
throw new DocumentApiValidationError("INVALID_INPUT", `patch.${key} must be a non-null object, got ${typeof value}.`, { field: "patch", key, value });
|
|
7014
|
-
}
|
|
7015
|
-
const allowedSubKeys = new Set(Object.keys(schema));
|
|
7016
|
-
const subKeys = Object.keys(value);
|
|
7017
|
-
if (subKeys.length === 0) {
|
|
7018
|
-
throw new DocumentApiValidationError("INVALID_INPUT", `patch.${key} must include at least one property.`, {
|
|
7019
|
-
field: `patch.${key}`
|
|
7020
|
-
});
|
|
7021
|
-
}
|
|
7022
|
-
for (const subKey of subKeys) {
|
|
7023
|
-
if (!allowedSubKeys.has(subKey)) {
|
|
7024
|
-
throw new DocumentApiValidationError("INVALID_INPUT", `Unknown key "${subKey}" on patch.${key}. Allowed keys: ${[...allowedSubKeys].join(", ")}.`, { field: `patch.${key}`, key: subKey });
|
|
7025
|
-
}
|
|
7026
|
-
validateSubKeyValue(key, subKey, value[subKey], schema[subKey]);
|
|
7027
|
-
}
|
|
7028
|
-
}
|
|
7029
|
-
function validatePropertyValue(def, value) {
|
|
7030
|
-
switch (def.type) {
|
|
7031
|
-
case "boolean":
|
|
7032
|
-
return validateBooleanValue(def.key, value);
|
|
7033
|
-
case "integer":
|
|
7034
|
-
return validateIntegerValue(def.key, value);
|
|
7035
|
-
case "enum":
|
|
7036
|
-
return validateEnumValue(def.key, value, def.values);
|
|
7037
|
-
case "object":
|
|
7038
|
-
return validateObjectValue(def.key, value, def.schema);
|
|
7039
|
-
}
|
|
7040
|
-
}
|
|
7041
|
-
function validateStylesApplyInput(input) {
|
|
7042
|
-
if (!isRecord(input)) {
|
|
7043
|
-
throw new DocumentApiValidationError("INVALID_INPUT", "styles.apply input must be a non-null object.");
|
|
7044
|
-
}
|
|
7045
|
-
assertNoUnknownInputFields(input, STYLES_APPLY_INPUT_ALLOWED_KEYS);
|
|
7046
|
-
const { target, patch } = input;
|
|
7047
|
-
if (target === undefined || target === null) {
|
|
7048
|
-
throw new DocumentApiValidationError("INVALID_TARGET", "styles.apply requires a target object.");
|
|
7049
|
-
}
|
|
7050
|
-
if (!isRecord(target)) {
|
|
7051
|
-
throw new DocumentApiValidationError("INVALID_TARGET", "target must be a non-null object.", {
|
|
7052
|
-
field: "target",
|
|
7053
|
-
value: target
|
|
7054
|
-
});
|
|
7055
|
-
}
|
|
7056
|
-
assertNoUnknownInputFields(target, STYLES_APPLY_TARGET_ALLOWED_KEYS, "target");
|
|
7057
|
-
if (target.scope !== "docDefaults") {
|
|
7058
|
-
throw new DocumentApiValidationError("INVALID_TARGET", `target.scope must be "docDefaults", got ${JSON.stringify(target.scope)}.`, { field: "target.scope", value: target.scope });
|
|
7059
|
-
}
|
|
7060
|
-
if (!VALID_CHANNELS.has(target.channel)) {
|
|
7061
|
-
throw new DocumentApiValidationError("INVALID_TARGET", `target.channel must be "run" or "paragraph", got ${JSON.stringify(target.channel)}.`, { field: "target.channel", value: target.channel });
|
|
7062
|
-
}
|
|
7063
|
-
const channel = target.channel;
|
|
7064
|
-
if (patch === undefined || patch === null) {
|
|
7065
|
-
throw new DocumentApiValidationError("INVALID_INPUT", "styles.apply requires a patch object.");
|
|
7066
|
-
}
|
|
7067
|
-
if (!isRecord(patch)) {
|
|
7068
|
-
throw new DocumentApiValidationError("INVALID_INPUT", "patch must be a non-null object.", {
|
|
7069
|
-
field: "patch",
|
|
7070
|
-
value: patch
|
|
7071
|
-
});
|
|
7072
|
-
}
|
|
7073
|
-
const patchKeys = Object.keys(patch);
|
|
7074
|
-
const allowedKeys = ALLOWED_KEYS_BY_CHANNEL[channel];
|
|
7075
|
-
if (patchKeys.length === 0) {
|
|
7076
|
-
throw new DocumentApiValidationError("INVALID_INPUT", "patch must include at least one property.");
|
|
7077
|
-
}
|
|
7078
|
-
for (const key of patchKeys) {
|
|
7079
|
-
if (!allowedKeys.has(key)) {
|
|
7080
|
-
const otherChannel = channel === "run" ? "paragraph" : "run";
|
|
7081
|
-
const belongsToOther = ALLOWED_KEYS_BY_CHANNEL[otherChannel].has(key);
|
|
7082
|
-
const detail = belongsToOther ? ` "${key}" is a ${otherChannel}-channel property.` : "";
|
|
7083
|
-
throw new DocumentApiValidationError("INVALID_INPUT", `Unknown patch key "${key}" for channel "${channel}".${detail} Allowed keys: ${[...allowedKeys].join(", ")}.`, { field: "patch", key });
|
|
7084
|
-
}
|
|
7085
|
-
const def = getPropertyDefinition(key, channel);
|
|
7086
|
-
if (def)
|
|
7087
|
-
validatePropertyValue(def, patch[key]);
|
|
7088
|
-
}
|
|
7089
|
-
}
|
|
7090
|
-
function validateStylesApplyOptions(options) {
|
|
7091
|
-
if (options === undefined || options === null)
|
|
7092
|
-
return;
|
|
7093
|
-
if (!isRecord(options)) {
|
|
7094
|
-
throw new DocumentApiValidationError("INVALID_INPUT", "styles.apply options must be a non-null object.");
|
|
7095
|
-
}
|
|
7096
|
-
for (const key of Object.keys(options)) {
|
|
7097
|
-
if (!STYLES_APPLY_OPTIONS_ALLOWED_KEYS.has(key)) {
|
|
7098
|
-
throw new DocumentApiValidationError("INVALID_INPUT", `Unknown options key "${key}". Allowed keys: ${[...STYLES_APPLY_OPTIONS_ALLOWED_KEYS].join(", ")}.`, { field: "options", key });
|
|
7099
|
-
}
|
|
7100
|
-
}
|
|
7101
|
-
if (options.dryRun !== undefined && typeof options.dryRun !== "boolean") {
|
|
7102
|
-
throw new DocumentApiValidationError("INVALID_INPUT", "options.dryRun must be a boolean.", {
|
|
7103
|
-
field: "options.dryRun",
|
|
7104
|
-
value: options.dryRun
|
|
7105
|
-
});
|
|
7106
|
-
}
|
|
7107
|
-
if (options.expectedRevision !== undefined && typeof options.expectedRevision !== "string") {
|
|
7108
|
-
throw new DocumentApiValidationError("INVALID_INPUT", "options.expectedRevision must be a string.", {
|
|
7109
|
-
field: "options.expectedRevision",
|
|
7110
|
-
value: options.expectedRevision
|
|
7111
|
-
});
|
|
7112
|
-
}
|
|
7113
|
-
}
|
|
7114
|
-
function assertNoUnknownInputFields(obj, allowlist, prefix) {
|
|
7115
|
-
for (const key of Object.keys(obj)) {
|
|
7116
|
-
if (!allowlist.has(key)) {
|
|
7117
|
-
const location2 = prefix ? `${prefix}.${key}` : key;
|
|
7118
|
-
throw new DocumentApiValidationError("INVALID_INPUT", `Unknown field "${location2}" on styles.apply input. Allowed fields: ${[...allowlist].join(", ")}.`, { field: location2 });
|
|
7119
|
-
}
|
|
7120
|
-
}
|
|
7121
|
-
}
|
|
7122
|
-
function normalizeStylesApplyOptions(options) {
|
|
7123
|
-
return {
|
|
7124
|
-
dryRun: options?.dryRun ?? false,
|
|
7125
|
-
expectedRevision: options?.expectedRevision
|
|
7126
|
-
};
|
|
7127
|
-
}
|
|
7128
|
-
function executeStylesApply(adapter, input, options) {
|
|
7129
|
-
validateStylesApplyInput(input);
|
|
7130
|
-
validateStylesApplyOptions(options);
|
|
7131
|
-
return adapter.apply(input, normalizeStylesApplyOptions(options));
|
|
7132
|
-
}
|
|
7133
|
-
var FONT_FAMILY_SCHEMA, COLOR_SCHEMA, SPACING_SCHEMA, INDENT_SCHEMA, PROPERTY_REGISTRY, ALLOWED_KEYS_BY_CHANNEL, STYLES_APPLY_INPUT_ALLOWED_KEYS, STYLES_APPLY_TARGET_ALLOWED_KEYS, STYLES_APPLY_OPTIONS_ALLOWED_KEYS, VALID_CHANNELS;
|
|
7134
|
-
var init_styles = __esm(() => {
|
|
7135
|
-
init_errors2();
|
|
7136
|
-
init_validation_primitives();
|
|
7137
|
-
FONT_FAMILY_SCHEMA = {
|
|
7138
|
-
hint: "string",
|
|
7139
|
-
ascii: "string",
|
|
7140
|
-
hAnsi: "string",
|
|
7141
|
-
eastAsia: "string",
|
|
7142
|
-
cs: "string",
|
|
7143
|
-
val: "string",
|
|
7144
|
-
asciiTheme: "string",
|
|
7145
|
-
hAnsiTheme: "string",
|
|
7146
|
-
eastAsiaTheme: "string",
|
|
7147
|
-
cstheme: "string"
|
|
7148
|
-
};
|
|
7149
|
-
COLOR_SCHEMA = {
|
|
7150
|
-
val: "string",
|
|
7151
|
-
themeColor: "string",
|
|
7152
|
-
themeTint: "string",
|
|
7153
|
-
themeShade: "string"
|
|
7154
|
-
};
|
|
7155
|
-
SPACING_SCHEMA = {
|
|
7156
|
-
after: "integer",
|
|
7157
|
-
afterAutospacing: "boolean",
|
|
7158
|
-
afterLines: "integer",
|
|
7159
|
-
before: "integer",
|
|
7160
|
-
beforeAutospacing: "boolean",
|
|
7161
|
-
beforeLines: "integer",
|
|
7162
|
-
line: "integer",
|
|
7163
|
-
lineRule: "enum:auto,exact,atLeast"
|
|
7164
|
-
};
|
|
7165
|
-
INDENT_SCHEMA = {
|
|
7166
|
-
end: "integer",
|
|
7167
|
-
endChars: "integer",
|
|
7168
|
-
firstLine: "integer",
|
|
7169
|
-
firstLineChars: "integer",
|
|
7170
|
-
hanging: "integer",
|
|
7171
|
-
hangingChars: "integer",
|
|
7172
|
-
left: "integer",
|
|
7173
|
-
leftChars: "integer",
|
|
7174
|
-
right: "integer",
|
|
7175
|
-
rightChars: "integer",
|
|
7176
|
-
start: "integer",
|
|
7177
|
-
startChars: "integer"
|
|
7178
|
-
};
|
|
7179
|
-
PROPERTY_REGISTRY = [
|
|
7180
|
-
{ key: "bold", channel: "run", type: "boolean" },
|
|
7181
|
-
{ key: "italic", channel: "run", type: "boolean" },
|
|
7182
|
-
{ key: "fontSize", channel: "run", type: "integer" },
|
|
7183
|
-
{ key: "fontSizeCs", channel: "run", type: "integer" },
|
|
7184
|
-
{ key: "letterSpacing", channel: "run", type: "integer" },
|
|
7185
|
-
{ key: "fontFamily", channel: "run", type: "object", schema: FONT_FAMILY_SCHEMA },
|
|
7186
|
-
{ key: "color", channel: "run", type: "object", schema: COLOR_SCHEMA },
|
|
7187
|
-
{
|
|
7188
|
-
key: "justification",
|
|
7189
|
-
channel: "paragraph",
|
|
7190
|
-
type: "enum",
|
|
7191
|
-
values: ["left", "center", "right", "justify", "distribute"]
|
|
7192
|
-
},
|
|
7193
|
-
{ key: "spacing", channel: "paragraph", type: "object", schema: SPACING_SCHEMA },
|
|
7194
|
-
{ key: "indent", channel: "paragraph", type: "object", schema: INDENT_SCHEMA }
|
|
7195
|
-
];
|
|
7196
|
-
ALLOWED_KEYS_BY_CHANNEL = {
|
|
7197
|
-
run: new Set(PROPERTY_REGISTRY.filter((d) => d.channel === "run").map((d) => d.key)),
|
|
7198
|
-
paragraph: new Set(PROPERTY_REGISTRY.filter((d) => d.channel === "paragraph").map((d) => d.key))
|
|
7199
|
-
};
|
|
7200
|
-
STYLES_APPLY_INPUT_ALLOWED_KEYS = new Set(["target", "patch"]);
|
|
7201
|
-
STYLES_APPLY_TARGET_ALLOWED_KEYS = new Set(["scope", "channel"]);
|
|
7202
|
-
STYLES_APPLY_OPTIONS_ALLOWED_KEYS = new Set(["dryRun", "expectedRevision"]);
|
|
7203
|
-
VALID_CHANNELS = new Set(["run", "paragraph"]);
|
|
7204
|
-
});
|
|
7205
|
-
|
|
7206
7471
|
// ../../packages/document-api/src/get-node/get-node.ts
|
|
7207
7472
|
function executeGetNode(adapter, address2) {
|
|
7208
7473
|
return adapter.getNode(address2);
|
|
@@ -30728,7 +30993,7 @@ var init_remark_gfm_z_sDF4ss_es = __esm(() => {
|
|
|
30728
30993
|
emptyOptions2 = {};
|
|
30729
30994
|
});
|
|
30730
30995
|
|
|
30731
|
-
// ../../packages/superdoc/dist/chunks/SuperConverter-
|
|
30996
|
+
// ../../packages/superdoc/dist/chunks/SuperConverter-CoCZX_fP.es.js
|
|
30732
30997
|
function getExtensionConfigField(extension$1, field, context = { name: "" }) {
|
|
30733
30998
|
const fieldValue = extension$1.config[field];
|
|
30734
30999
|
if (typeof fieldValue === "function")
|
|
@@ -31542,7 +31807,7 @@ function isTextAddress2(value) {
|
|
|
31542
31807
|
return false;
|
|
31543
31808
|
return range.start <= range.end;
|
|
31544
31809
|
}
|
|
31545
|
-
function
|
|
31810
|
+
function assertNoUnknownFields3(input, allowlist, operationName) {
|
|
31546
31811
|
for (const key of Object.keys(input))
|
|
31547
31812
|
if (!allowlist.has(key))
|
|
31548
31813
|
throw new DocumentApiValidationError2("INVALID_TARGET", `Unknown field "${key}" on ${operationName} input. Allowed fields: ${[...allowlist].join(", ")}.`, { field: key });
|
|
@@ -31917,20 +32182,20 @@ function assertNotEmptyPatch2(input, patchKeys, operation) {
|
|
|
31917
32182
|
}
|
|
31918
32183
|
function validateSetStyle2(input) {
|
|
31919
32184
|
assertParagraphTarget2(input, "styles.paragraph.setStyle");
|
|
31920
|
-
|
|
32185
|
+
assertNoUnknownFields3(input, SET_STYLE_KEYS2, "styles.paragraph.setStyle");
|
|
31921
32186
|
assertNonEmptyString$1(input.styleId, "styleId", "styles.paragraph.setStyle");
|
|
31922
32187
|
}
|
|
31923
32188
|
function validateClearStyle2(input) {
|
|
31924
32189
|
assertParagraphTarget2(input, "styles.paragraph.clearStyle");
|
|
31925
|
-
|
|
32190
|
+
assertNoUnknownFields3(input, CLEAR_STYLE_KEYS2, "styles.paragraph.clearStyle");
|
|
31926
32191
|
}
|
|
31927
32192
|
function validateResetDirectFormatting2(input) {
|
|
31928
32193
|
assertParagraphTarget2(input, "format.paragraph.resetDirectFormatting");
|
|
31929
|
-
|
|
32194
|
+
assertNoUnknownFields3(input, RESET_DIRECT_FORMATTING_KEYS2, "format.paragraph.resetDirectFormatting");
|
|
31930
32195
|
}
|
|
31931
32196
|
function validateSetAlignment2(input) {
|
|
31932
32197
|
assertParagraphTarget2(input, "format.paragraph.setAlignment");
|
|
31933
|
-
|
|
32198
|
+
assertNoUnknownFields3(input, SET_ALIGNMENT_KEYS2, "format.paragraph.setAlignment");
|
|
31934
32199
|
const rec = input;
|
|
31935
32200
|
if (rec.alignment === undefined)
|
|
31936
32201
|
throw new DocumentApiValidationError2("INVALID_INPUT", "format.paragraph.setAlignment requires an alignment field.");
|
|
@@ -31938,12 +32203,12 @@ function validateSetAlignment2(input) {
|
|
|
31938
32203
|
}
|
|
31939
32204
|
function validateClearAlignment2(input) {
|
|
31940
32205
|
assertParagraphTarget2(input, "format.paragraph.clearAlignment");
|
|
31941
|
-
|
|
32206
|
+
assertNoUnknownFields3(input, CLEAR_ALIGNMENT_KEYS2, "format.paragraph.clearAlignment");
|
|
31942
32207
|
}
|
|
31943
32208
|
function validateSetIndentation2(input) {
|
|
31944
32209
|
const op = "format.paragraph.setIndentation";
|
|
31945
32210
|
assertParagraphTarget2(input, op);
|
|
31946
|
-
|
|
32211
|
+
assertNoUnknownFields3(input, SET_INDENTATION_KEYS2, op);
|
|
31947
32212
|
const rec = input;
|
|
31948
32213
|
assertNotEmptyPatch2(rec, [
|
|
31949
32214
|
"left",
|
|
@@ -31964,12 +32229,12 @@ function validateSetIndentation2(input) {
|
|
|
31964
32229
|
}
|
|
31965
32230
|
function validateClearIndentation2(input) {
|
|
31966
32231
|
assertParagraphTarget2(input, "format.paragraph.clearIndentation");
|
|
31967
|
-
|
|
32232
|
+
assertNoUnknownFields3(input, CLEAR_INDENTATION_KEYS2, "format.paragraph.clearIndentation");
|
|
31968
32233
|
}
|
|
31969
32234
|
function validateSetSpacing2(input) {
|
|
31970
32235
|
const op = "format.paragraph.setSpacing";
|
|
31971
32236
|
assertParagraphTarget2(input, op);
|
|
31972
|
-
|
|
32237
|
+
assertNoUnknownFields3(input, SET_SPACING_KEYS2, op);
|
|
31973
32238
|
const rec = input;
|
|
31974
32239
|
assertNotEmptyPatch2(rec, [
|
|
31975
32240
|
"before",
|
|
@@ -31991,12 +32256,12 @@ function validateSetSpacing2(input) {
|
|
|
31991
32256
|
}
|
|
31992
32257
|
function validateClearSpacing2(input) {
|
|
31993
32258
|
assertParagraphTarget2(input, "format.paragraph.clearSpacing");
|
|
31994
|
-
|
|
32259
|
+
assertNoUnknownFields3(input, CLEAR_SPACING_KEYS2, "format.paragraph.clearSpacing");
|
|
31995
32260
|
}
|
|
31996
32261
|
function validateSetKeepOptions2(input) {
|
|
31997
32262
|
const op = "format.paragraph.setKeepOptions";
|
|
31998
32263
|
assertParagraphTarget2(input, op);
|
|
31999
|
-
|
|
32264
|
+
assertNoUnknownFields3(input, SET_KEEP_OPTIONS_KEYS2, op);
|
|
32000
32265
|
const rec = input;
|
|
32001
32266
|
assertNotEmptyPatch2(rec, [
|
|
32002
32267
|
"keepNext",
|
|
@@ -32013,7 +32278,7 @@ function validateSetKeepOptions2(input) {
|
|
|
32013
32278
|
function validateSetOutlineLevel2(input) {
|
|
32014
32279
|
const op = "format.paragraph.setOutlineLevel";
|
|
32015
32280
|
assertParagraphTarget2(input, op);
|
|
32016
|
-
|
|
32281
|
+
assertNoUnknownFields3(input, SET_OUTLINE_LEVEL_KEYS2, op);
|
|
32017
32282
|
const rec = input;
|
|
32018
32283
|
if (rec.outlineLevel === undefined)
|
|
32019
32284
|
throw new DocumentApiValidationError2("INVALID_INPUT", `${op} requires an outlineLevel field.`);
|
|
@@ -32028,7 +32293,7 @@ function validateSetOutlineLevel2(input) {
|
|
|
32028
32293
|
function validateSetFlowOptions2(input) {
|
|
32029
32294
|
const op = "format.paragraph.setFlowOptions";
|
|
32030
32295
|
assertParagraphTarget2(input, op);
|
|
32031
|
-
|
|
32296
|
+
assertNoUnknownFields3(input, SET_FLOW_OPTIONS_KEYS2, op);
|
|
32032
32297
|
const rec = input;
|
|
32033
32298
|
assertNotEmptyPatch2(rec, [
|
|
32034
32299
|
"contextualSpacing",
|
|
@@ -32045,7 +32310,7 @@ function validateSetFlowOptions2(input) {
|
|
|
32045
32310
|
function validateSetTabStop2(input) {
|
|
32046
32311
|
const op = "format.paragraph.setTabStop";
|
|
32047
32312
|
assertParagraphTarget2(input, op);
|
|
32048
|
-
|
|
32313
|
+
assertNoUnknownFields3(input, SET_TAB_STOP_KEYS2, op);
|
|
32049
32314
|
const rec = input;
|
|
32050
32315
|
if (rec.position === undefined)
|
|
32051
32316
|
throw new DocumentApiValidationError2("INVALID_INPUT", `${op} requires a position field.`);
|
|
@@ -32059,7 +32324,7 @@ function validateSetTabStop2(input) {
|
|
|
32059
32324
|
function validateClearTabStop2(input) {
|
|
32060
32325
|
const op = "format.paragraph.clearTabStop";
|
|
32061
32326
|
assertParagraphTarget2(input, op);
|
|
32062
|
-
|
|
32327
|
+
assertNoUnknownFields3(input, CLEAR_TAB_STOP_KEYS2, op);
|
|
32063
32328
|
const rec = input;
|
|
32064
32329
|
if (rec.position === undefined)
|
|
32065
32330
|
throw new DocumentApiValidationError2("INVALID_INPUT", `${op} requires a position field.`);
|
|
@@ -32067,12 +32332,12 @@ function validateClearTabStop2(input) {
|
|
|
32067
32332
|
}
|
|
32068
32333
|
function validateClearAllTabStops2(input) {
|
|
32069
32334
|
assertParagraphTarget2(input, "format.paragraph.clearAllTabStops");
|
|
32070
|
-
|
|
32335
|
+
assertNoUnknownFields3(input, CLEAR_ALL_TAB_STOPS_KEYS2, "format.paragraph.clearAllTabStops");
|
|
32071
32336
|
}
|
|
32072
32337
|
function validateSetBorder2(input) {
|
|
32073
32338
|
const op = "format.paragraph.setBorder";
|
|
32074
32339
|
assertParagraphTarget2(input, op);
|
|
32075
|
-
|
|
32340
|
+
assertNoUnknownFields3(input, SET_BORDER_KEYS2, op);
|
|
32076
32341
|
const rec = input;
|
|
32077
32342
|
if (rec.side === undefined)
|
|
32078
32343
|
throw new DocumentApiValidationError2("INVALID_INPUT", `${op} requires a side field.`);
|
|
@@ -32090,7 +32355,7 @@ function validateSetBorder2(input) {
|
|
|
32090
32355
|
function validateClearBorder2(input) {
|
|
32091
32356
|
const op = "format.paragraph.clearBorder";
|
|
32092
32357
|
assertParagraphTarget2(input, op);
|
|
32093
|
-
|
|
32358
|
+
assertNoUnknownFields3(input, CLEAR_BORDER_KEYS2, op);
|
|
32094
32359
|
const rec = input;
|
|
32095
32360
|
if (rec.side === undefined)
|
|
32096
32361
|
throw new DocumentApiValidationError2("INVALID_INPUT", `${op} requires a side field.`);
|
|
@@ -32099,7 +32364,7 @@ function validateClearBorder2(input) {
|
|
|
32099
32364
|
function validateSetShading2(input) {
|
|
32100
32365
|
const op = "format.paragraph.setShading";
|
|
32101
32366
|
assertParagraphTarget2(input, op);
|
|
32102
|
-
|
|
32367
|
+
assertNoUnknownFields3(input, SET_SHADING_KEYS2, op);
|
|
32103
32368
|
const rec = input;
|
|
32104
32369
|
assertNotEmptyPatch2(rec, [
|
|
32105
32370
|
"fill",
|
|
@@ -32115,7 +32380,7 @@ function validateSetShading2(input) {
|
|
|
32115
32380
|
}
|
|
32116
32381
|
function validateClearShading2(input) {
|
|
32117
32382
|
assertParagraphTarget2(input, "format.paragraph.clearShading");
|
|
32118
|
-
|
|
32383
|
+
assertNoUnknownFields3(input, CLEAR_SHADING_KEYS2, "format.paragraph.clearShading");
|
|
32119
32384
|
}
|
|
32120
32385
|
function executeParagraphsSetStyle2(adapter, input, options) {
|
|
32121
32386
|
validateSetStyle2(input);
|
|
@@ -32193,6 +32458,274 @@ function executeParagraphsClearShading2(adapter, input, options) {
|
|
|
32193
32458
|
validateClearShading2(input);
|
|
32194
32459
|
return adapter.clearShading(input, normalizeMutationOptions2(options));
|
|
32195
32460
|
}
|
|
32461
|
+
function getPropertyDefinition2(key, channel) {
|
|
32462
|
+
return PROPERTY_INDEX2.get(`${channel}:${key}`);
|
|
32463
|
+
}
|
|
32464
|
+
function toJsonSchema2(schema) {
|
|
32465
|
+
switch (schema.kind) {
|
|
32466
|
+
case "boolean":
|
|
32467
|
+
return { type: "boolean" };
|
|
32468
|
+
case "integer": {
|
|
32469
|
+
const s = { type: "integer" };
|
|
32470
|
+
if (schema.min !== undefined)
|
|
32471
|
+
s.minimum = schema.min;
|
|
32472
|
+
if (schema.max !== undefined)
|
|
32473
|
+
s.maximum = schema.max;
|
|
32474
|
+
return s;
|
|
32475
|
+
}
|
|
32476
|
+
case "enum":
|
|
32477
|
+
return { enum: [...schema.values] };
|
|
32478
|
+
case "string":
|
|
32479
|
+
return {
|
|
32480
|
+
type: "string",
|
|
32481
|
+
minLength: 1
|
|
32482
|
+
};
|
|
32483
|
+
case "object": {
|
|
32484
|
+
const properties = {};
|
|
32485
|
+
for (const [key, childSchema] of Object.entries(schema.children))
|
|
32486
|
+
properties[key] = toJsonSchema2(childSchema);
|
|
32487
|
+
return {
|
|
32488
|
+
type: "object",
|
|
32489
|
+
properties,
|
|
32490
|
+
additionalProperties: false,
|
|
32491
|
+
minProperties: 1
|
|
32492
|
+
};
|
|
32493
|
+
}
|
|
32494
|
+
case "array":
|
|
32495
|
+
return {
|
|
32496
|
+
type: "array",
|
|
32497
|
+
items: toJsonSchema2(schema.item)
|
|
32498
|
+
};
|
|
32499
|
+
}
|
|
32500
|
+
}
|
|
32501
|
+
function buildPatchSchema2(channel) {
|
|
32502
|
+
const properties = {};
|
|
32503
|
+
for (const def of PROPERTY_REGISTRY3) {
|
|
32504
|
+
if (def.channel !== channel)
|
|
32505
|
+
continue;
|
|
32506
|
+
properties[def.key] = toJsonSchema2(def.schema);
|
|
32507
|
+
}
|
|
32508
|
+
return {
|
|
32509
|
+
type: "object",
|
|
32510
|
+
properties,
|
|
32511
|
+
additionalProperties: false,
|
|
32512
|
+
minProperties: 1
|
|
32513
|
+
};
|
|
32514
|
+
}
|
|
32515
|
+
function buildStateSchema2() {
|
|
32516
|
+
const properties = {};
|
|
32517
|
+
for (const def of PROPERTY_REGISTRY3)
|
|
32518
|
+
switch (def.schema.kind) {
|
|
32519
|
+
case "boolean":
|
|
32520
|
+
properties[def.key] = { enum: [
|
|
32521
|
+
"on",
|
|
32522
|
+
"off",
|
|
32523
|
+
"inherit"
|
|
32524
|
+
] };
|
|
32525
|
+
break;
|
|
32526
|
+
case "integer":
|
|
32527
|
+
properties[def.key] = { oneOf: [{ type: "number" }, { const: "inherit" }] };
|
|
32528
|
+
break;
|
|
32529
|
+
case "enum":
|
|
32530
|
+
case "string":
|
|
32531
|
+
properties[def.key] = { oneOf: [{ type: "string" }, { const: "inherit" }] };
|
|
32532
|
+
break;
|
|
32533
|
+
case "object":
|
|
32534
|
+
properties[def.key] = { oneOf: [{ type: "object" }, { const: "inherit" }] };
|
|
32535
|
+
break;
|
|
32536
|
+
case "array":
|
|
32537
|
+
properties[def.key] = { oneOf: [{ type: "array" }, { const: "inherit" }] };
|
|
32538
|
+
break;
|
|
32539
|
+
}
|
|
32540
|
+
return {
|
|
32541
|
+
type: "object",
|
|
32542
|
+
properties,
|
|
32543
|
+
additionalProperties: false
|
|
32544
|
+
};
|
|
32545
|
+
}
|
|
32546
|
+
function validateValue2(path2, value, schema) {
|
|
32547
|
+
switch (schema.kind) {
|
|
32548
|
+
case "boolean":
|
|
32549
|
+
if (typeof value !== "boolean")
|
|
32550
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", `${path2} must be a boolean, got ${typeof value}.`, {
|
|
32551
|
+
field: path2,
|
|
32552
|
+
value
|
|
32553
|
+
});
|
|
32554
|
+
return;
|
|
32555
|
+
case "integer":
|
|
32556
|
+
if (typeof value !== "number" || !Number.isFinite(value) || !Number.isInteger(value))
|
|
32557
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", `${path2} must be a finite integer, got ${JSON.stringify(value)}.`, {
|
|
32558
|
+
field: path2,
|
|
32559
|
+
value
|
|
32560
|
+
});
|
|
32561
|
+
if (schema.min !== undefined && value < schema.min)
|
|
32562
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", `${path2} must be >= ${schema.min}, got ${value}.`, {
|
|
32563
|
+
field: path2,
|
|
32564
|
+
value
|
|
32565
|
+
});
|
|
32566
|
+
if (schema.max !== undefined && value > schema.max)
|
|
32567
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", `${path2} must be <= ${schema.max}, got ${value}.`, {
|
|
32568
|
+
field: path2,
|
|
32569
|
+
value
|
|
32570
|
+
});
|
|
32571
|
+
return;
|
|
32572
|
+
case "enum":
|
|
32573
|
+
if (typeof value !== "string" || !schema.values.includes(value))
|
|
32574
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", `${path2} must be one of: ${schema.values.join(", ")}. Got ${JSON.stringify(value)}.`, {
|
|
32575
|
+
field: path2,
|
|
32576
|
+
value
|
|
32577
|
+
});
|
|
32578
|
+
return;
|
|
32579
|
+
case "string":
|
|
32580
|
+
if (typeof value !== "string" || value.length === 0)
|
|
32581
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", `${path2} must be a non-empty string, got ${JSON.stringify(value)}.`, {
|
|
32582
|
+
field: path2,
|
|
32583
|
+
value
|
|
32584
|
+
});
|
|
32585
|
+
return;
|
|
32586
|
+
case "object":
|
|
32587
|
+
validateObjectValue2(path2, value, schema.children);
|
|
32588
|
+
return;
|
|
32589
|
+
case "array":
|
|
32590
|
+
validateArrayValue2(path2, value, schema.item);
|
|
32591
|
+
return;
|
|
32592
|
+
}
|
|
32593
|
+
}
|
|
32594
|
+
function validateObjectValue2(path2, value, children) {
|
|
32595
|
+
if (!isRecord3(value))
|
|
32596
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", `${path2} must be a non-null object, got ${typeof value}.`, {
|
|
32597
|
+
field: path2,
|
|
32598
|
+
value
|
|
32599
|
+
});
|
|
32600
|
+
const allowedKeys = new Set(Object.keys(children));
|
|
32601
|
+
const keys$1 = Object.keys(value);
|
|
32602
|
+
if (keys$1.length === 0)
|
|
32603
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", `${path2} must include at least one property.`, { field: path2 });
|
|
32604
|
+
for (const key of keys$1) {
|
|
32605
|
+
if (!allowedKeys.has(key))
|
|
32606
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", `Unknown key "${key}" on ${path2}. Allowed keys: ${[...allowedKeys].join(", ")}.`, {
|
|
32607
|
+
field: path2,
|
|
32608
|
+
key
|
|
32609
|
+
});
|
|
32610
|
+
validateValue2(`${path2}.${key}`, value[key], children[key]);
|
|
32611
|
+
}
|
|
32612
|
+
}
|
|
32613
|
+
function validateArrayValue2(path2, value, itemSchema) {
|
|
32614
|
+
if (!Array.isArray(value))
|
|
32615
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", `${path2} must be an array, got ${typeof value}.`, {
|
|
32616
|
+
field: path2,
|
|
32617
|
+
value
|
|
32618
|
+
});
|
|
32619
|
+
for (let i2 = 0;i2 < value.length; i2++)
|
|
32620
|
+
validateValue2(`${path2}[${i2}]`, value[i2], itemSchema);
|
|
32621
|
+
}
|
|
32622
|
+
function validateStylesApplyInput2(input) {
|
|
32623
|
+
if (!isRecord3(input))
|
|
32624
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", "styles.apply input must be a non-null object.");
|
|
32625
|
+
assertNoUnknownFields$1(input, INPUT_ALLOWED_KEYS2);
|
|
32626
|
+
const { target, patch } = input;
|
|
32627
|
+
if (target === undefined || target === null)
|
|
32628
|
+
throw new DocumentApiValidationError2("INVALID_TARGET", "styles.apply requires a target object.");
|
|
32629
|
+
if (!isRecord3(target))
|
|
32630
|
+
throw new DocumentApiValidationError2("INVALID_TARGET", "target must be a non-null object.", {
|
|
32631
|
+
field: "target",
|
|
32632
|
+
value: target
|
|
32633
|
+
});
|
|
32634
|
+
assertNoUnknownFields$1(target, TARGET_ALLOWED_KEYS2, "target");
|
|
32635
|
+
if (target.scope !== "docDefaults")
|
|
32636
|
+
throw new DocumentApiValidationError2("INVALID_TARGET", `target.scope must be "docDefaults", got ${JSON.stringify(target.scope)}.`, {
|
|
32637
|
+
field: "target.scope",
|
|
32638
|
+
value: target.scope
|
|
32639
|
+
});
|
|
32640
|
+
if (!VALID_CHANNELS2.has(target.channel))
|
|
32641
|
+
throw new DocumentApiValidationError2("INVALID_TARGET", `target.channel must be "run" or "paragraph", got ${JSON.stringify(target.channel)}.`, {
|
|
32642
|
+
field: "target.channel",
|
|
32643
|
+
value: target.channel
|
|
32644
|
+
});
|
|
32645
|
+
const channel = target.channel;
|
|
32646
|
+
if (patch === undefined || patch === null)
|
|
32647
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", "styles.apply requires a patch object.");
|
|
32648
|
+
if (!isRecord3(patch))
|
|
32649
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", "patch must be a non-null object.", {
|
|
32650
|
+
field: "patch",
|
|
32651
|
+
value: patch
|
|
32652
|
+
});
|
|
32653
|
+
const patchKeys = Object.keys(patch);
|
|
32654
|
+
if (patchKeys.length === 0)
|
|
32655
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", "patch must include at least one property.");
|
|
32656
|
+
const allowedKeys = ALLOWED_KEYS_BY_CHANNEL2[channel];
|
|
32657
|
+
const otherChannel = channel === "run" ? "paragraph" : "run";
|
|
32658
|
+
for (const key of patchKeys) {
|
|
32659
|
+
const excludedEntry = EXCLUDED_KEYS2[channel].get(key);
|
|
32660
|
+
if (excludedEntry !== undefined)
|
|
32661
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", `patch key '${key}' is not valid in Word docDefaults (${excludedEntry}). This is an intentional restriction per MS-OI29500.`, {
|
|
32662
|
+
field: "patch",
|
|
32663
|
+
key,
|
|
32664
|
+
reason: "excluded_docdefaults_key"
|
|
32665
|
+
});
|
|
32666
|
+
if (!allowedKeys.has(key)) {
|
|
32667
|
+
if (ALLOWED_KEYS_BY_CHANNEL2[otherChannel].has(key))
|
|
32668
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", `Unknown patch key "${key}" for channel "${channel}". "${key}" is a ${otherChannel}-channel property. Allowed keys: ${[...allowedKeys].join(", ")}.`, {
|
|
32669
|
+
field: "patch",
|
|
32670
|
+
key
|
|
32671
|
+
});
|
|
32672
|
+
const otherExcluded = EXCLUDED_KEYS2[otherChannel].get(key);
|
|
32673
|
+
if (otherExcluded !== undefined)
|
|
32674
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", `patch key '${key}' is not valid in Word docDefaults (${otherExcluded}). This is an intentional restriction per MS-OI29500.`, {
|
|
32675
|
+
field: "patch",
|
|
32676
|
+
key,
|
|
32677
|
+
reason: "excluded_docdefaults_key"
|
|
32678
|
+
});
|
|
32679
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", `Unknown patch key "${key}" for channel "${channel}". Allowed keys: ${[...allowedKeys].join(", ")}.`, {
|
|
32680
|
+
field: "patch",
|
|
32681
|
+
key
|
|
32682
|
+
});
|
|
32683
|
+
}
|
|
32684
|
+
const def = getPropertyDefinition2(key, channel);
|
|
32685
|
+
if (def)
|
|
32686
|
+
validateValue2(`patch.${key}`, patch[key], def.schema);
|
|
32687
|
+
}
|
|
32688
|
+
}
|
|
32689
|
+
function validateStylesApplyOptions2(options) {
|
|
32690
|
+
if (options === undefined || options === null)
|
|
32691
|
+
return;
|
|
32692
|
+
if (!isRecord3(options))
|
|
32693
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", "styles.apply options must be a non-null object.");
|
|
32694
|
+
for (const key of Object.keys(options))
|
|
32695
|
+
if (!OPTIONS_ALLOWED_KEYS2.has(key))
|
|
32696
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", `Unknown options key "${key}". Allowed keys: ${[...OPTIONS_ALLOWED_KEYS2].join(", ")}.`, {
|
|
32697
|
+
field: "options",
|
|
32698
|
+
key
|
|
32699
|
+
});
|
|
32700
|
+
if (options.dryRun !== undefined && typeof options.dryRun !== "boolean")
|
|
32701
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", "options.dryRun must be a boolean.", {
|
|
32702
|
+
field: "options.dryRun",
|
|
32703
|
+
value: options.dryRun
|
|
32704
|
+
});
|
|
32705
|
+
if (options.expectedRevision !== undefined && typeof options.expectedRevision !== "string")
|
|
32706
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", "options.expectedRevision must be a string.", {
|
|
32707
|
+
field: "options.expectedRevision",
|
|
32708
|
+
value: options.expectedRevision
|
|
32709
|
+
});
|
|
32710
|
+
}
|
|
32711
|
+
function assertNoUnknownFields$1(obj, allowlist, prefix) {
|
|
32712
|
+
for (const key of Object.keys(obj))
|
|
32713
|
+
if (!allowlist.has(key)) {
|
|
32714
|
+
const location2 = prefix ? `${prefix}.${key}` : key;
|
|
32715
|
+
throw new DocumentApiValidationError2("INVALID_INPUT", `Unknown field "${location2}" on styles.apply input. Allowed fields: ${[...allowlist].join(", ")}.`, { field: location2 });
|
|
32716
|
+
}
|
|
32717
|
+
}
|
|
32718
|
+
function normalizeOptions2(options) {
|
|
32719
|
+
return {
|
|
32720
|
+
dryRun: options?.dryRun ?? false,
|
|
32721
|
+
expectedRevision: options?.expectedRevision
|
|
32722
|
+
};
|
|
32723
|
+
}
|
|
32724
|
+
function executeStylesApply2(adapter, input, options) {
|
|
32725
|
+
validateStylesApplyInput2(input);
|
|
32726
|
+
validateStylesApplyOptions2(options);
|
|
32727
|
+
return adapter.apply(input, normalizeOptions2(options));
|
|
32728
|
+
}
|
|
32196
32729
|
function objectSchema2(properties, required = []) {
|
|
32197
32730
|
const schema = {
|
|
32198
32731
|
type: "object",
|
|
@@ -32446,7 +32979,7 @@ function derivePropertyStateFromDirect2(direct) {
|
|
|
32446
32979
|
function validateCreateCommentInput2(input) {
|
|
32447
32980
|
if (!isRecord3(input))
|
|
32448
32981
|
throw new DocumentApiValidationError2("INVALID_TARGET", "comments.create input must be a non-null object.");
|
|
32449
|
-
|
|
32982
|
+
assertNoUnknownFields3(input, CREATE_COMMENT_ALLOWED_KEYS2, "comments.create");
|
|
32450
32983
|
const { target, text: text$2, parentCommentId } = input;
|
|
32451
32984
|
const hasTarget = target !== undefined;
|
|
32452
32985
|
const isReply = parentCommentId !== undefined;
|
|
@@ -32476,7 +33009,7 @@ function validateCreateCommentInput2(input) {
|
|
|
32476
33009
|
function validatePatchCommentInput2(input) {
|
|
32477
33010
|
if (!isRecord3(input))
|
|
32478
33011
|
throw new DocumentApiValidationError2("INVALID_TARGET", "comments.patch input must be a non-null object.");
|
|
32479
|
-
|
|
33012
|
+
assertNoUnknownFields3(input, PATCH_COMMENT_ALLOWED_KEYS2, "comments.patch");
|
|
32480
33013
|
const { commentId, target } = input;
|
|
32481
33014
|
const hasTarget = target !== undefined;
|
|
32482
33015
|
if (typeof commentId !== "string")
|
|
@@ -32595,7 +33128,7 @@ function executeFind2(adapter, selectorOrQuery, options) {
|
|
|
32595
33128
|
function validateStyleApplyInput2(input) {
|
|
32596
33129
|
if (!isRecord3(input))
|
|
32597
33130
|
throw new DocumentApiValidationError2("INVALID_INPUT", "format.apply input must be a non-null object.");
|
|
32598
|
-
|
|
33131
|
+
assertNoUnknownFields3(input, STYLE_APPLY_INPUT_ALLOWED_KEYS2, "format.apply");
|
|
32599
33132
|
if (input.target === undefined)
|
|
32600
33133
|
throw new DocumentApiValidationError2("INVALID_TARGET", "format.apply requires a target.");
|
|
32601
33134
|
if (!isTextAddress2(input.target))
|
|
@@ -32624,7 +33157,7 @@ function normalizeInlineAliasValue2(key, value) {
|
|
|
32624
33157
|
function validateInlineAliasInput2(key, input) {
|
|
32625
33158
|
const operation = `format.${key}`;
|
|
32626
33159
|
const candidate = isRecord3(input) ? input : {};
|
|
32627
|
-
|
|
33160
|
+
assertNoUnknownFields3(candidate, INLINE_ALIAS_INPUT_ALLOWED_KEYS2, operation);
|
|
32628
33161
|
validateTarget2(candidate, operation);
|
|
32629
33162
|
}
|
|
32630
33163
|
function executeInlineAlias2(adapter, key, input, options) {
|
|
@@ -32648,191 +33181,6 @@ function validateTarget2(input, operation) {
|
|
|
32648
33181
|
value: input.target
|
|
32649
33182
|
});
|
|
32650
33183
|
}
|
|
32651
|
-
function getPropertyDefinition2(key, channel) {
|
|
32652
|
-
return PROPERTY_REGISTRY2.find((d) => d.key === key && d.channel === channel);
|
|
32653
|
-
}
|
|
32654
|
-
function validateBooleanValue2(key, value) {
|
|
32655
|
-
if (typeof value !== "boolean")
|
|
32656
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", `patch.${key} must be a boolean, got ${typeof value}.`, {
|
|
32657
|
-
field: "patch",
|
|
32658
|
-
key,
|
|
32659
|
-
value
|
|
32660
|
-
});
|
|
32661
|
-
}
|
|
32662
|
-
function validateIntegerValue2(key, value) {
|
|
32663
|
-
if (typeof value !== "number" || !Number.isFinite(value) || !Number.isInteger(value))
|
|
32664
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", `patch.${key} must be a finite integer, got ${JSON.stringify(value)}.`, {
|
|
32665
|
-
field: "patch",
|
|
32666
|
-
key,
|
|
32667
|
-
value
|
|
32668
|
-
});
|
|
32669
|
-
}
|
|
32670
|
-
function validateEnumValue2(key, value, allowed) {
|
|
32671
|
-
if (typeof value !== "string" || !allowed.includes(value))
|
|
32672
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", `patch.${key} must be one of: ${allowed.join(", ")}. Got ${JSON.stringify(value)}.`, {
|
|
32673
|
-
field: "patch",
|
|
32674
|
-
key,
|
|
32675
|
-
value
|
|
32676
|
-
});
|
|
32677
|
-
}
|
|
32678
|
-
function validateSubKeyValue2(objectKey, subKey, value, subKeyType) {
|
|
32679
|
-
if (subKeyType === "string") {
|
|
32680
|
-
if (typeof value !== "string")
|
|
32681
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", `patch.${objectKey}.${subKey} must be a string, got ${typeof value}.`, {
|
|
32682
|
-
field: `patch.${objectKey}`,
|
|
32683
|
-
key: subKey,
|
|
32684
|
-
value
|
|
32685
|
-
});
|
|
32686
|
-
return;
|
|
32687
|
-
}
|
|
32688
|
-
if (subKeyType === "integer") {
|
|
32689
|
-
if (typeof value !== "number" || !Number.isFinite(value) || !Number.isInteger(value))
|
|
32690
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", `patch.${objectKey}.${subKey} must be a finite integer, got ${JSON.stringify(value)}.`, {
|
|
32691
|
-
field: `patch.${objectKey}`,
|
|
32692
|
-
key: subKey,
|
|
32693
|
-
value
|
|
32694
|
-
});
|
|
32695
|
-
return;
|
|
32696
|
-
}
|
|
32697
|
-
if (subKeyType === "boolean") {
|
|
32698
|
-
if (typeof value !== "boolean")
|
|
32699
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", `patch.${objectKey}.${subKey} must be a boolean, got ${typeof value}.`, {
|
|
32700
|
-
field: `patch.${objectKey}`,
|
|
32701
|
-
key: subKey,
|
|
32702
|
-
value
|
|
32703
|
-
});
|
|
32704
|
-
return;
|
|
32705
|
-
}
|
|
32706
|
-
if (subKeyType.startsWith("enum:")) {
|
|
32707
|
-
const allowed = subKeyType.slice(5).split(",");
|
|
32708
|
-
if (typeof value !== "string" || !allowed.includes(value))
|
|
32709
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", `patch.${objectKey}.${subKey} must be one of: ${allowed.join(", ")}. Got ${JSON.stringify(value)}.`, {
|
|
32710
|
-
field: `patch.${objectKey}`,
|
|
32711
|
-
key: subKey,
|
|
32712
|
-
value
|
|
32713
|
-
});
|
|
32714
|
-
}
|
|
32715
|
-
}
|
|
32716
|
-
function validateObjectValue2(key, value, schema) {
|
|
32717
|
-
if (!isRecord3(value))
|
|
32718
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", `patch.${key} must be a non-null object, got ${typeof value}.`, {
|
|
32719
|
-
field: "patch",
|
|
32720
|
-
key,
|
|
32721
|
-
value
|
|
32722
|
-
});
|
|
32723
|
-
const allowedSubKeys = new Set(Object.keys(schema));
|
|
32724
|
-
const subKeys = Object.keys(value);
|
|
32725
|
-
if (subKeys.length === 0)
|
|
32726
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", `patch.${key} must include at least one property.`, { field: `patch.${key}` });
|
|
32727
|
-
for (const subKey of subKeys) {
|
|
32728
|
-
if (!allowedSubKeys.has(subKey))
|
|
32729
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", `Unknown key "${subKey}" on patch.${key}. Allowed keys: ${[...allowedSubKeys].join(", ")}.`, {
|
|
32730
|
-
field: `patch.${key}`,
|
|
32731
|
-
key: subKey
|
|
32732
|
-
});
|
|
32733
|
-
validateSubKeyValue2(key, subKey, value[subKey], schema[subKey]);
|
|
32734
|
-
}
|
|
32735
|
-
}
|
|
32736
|
-
function validatePropertyValue2(def, value) {
|
|
32737
|
-
switch (def.type) {
|
|
32738
|
-
case "boolean":
|
|
32739
|
-
return validateBooleanValue2(def.key, value);
|
|
32740
|
-
case "integer":
|
|
32741
|
-
return validateIntegerValue2(def.key, value);
|
|
32742
|
-
case "enum":
|
|
32743
|
-
return validateEnumValue2(def.key, value, def.values);
|
|
32744
|
-
case "object":
|
|
32745
|
-
return validateObjectValue2(def.key, value, def.schema);
|
|
32746
|
-
}
|
|
32747
|
-
}
|
|
32748
|
-
function validateStylesApplyInput2(input) {
|
|
32749
|
-
if (!isRecord3(input))
|
|
32750
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", "styles.apply input must be a non-null object.");
|
|
32751
|
-
assertNoUnknownInputFields2(input, STYLES_APPLY_INPUT_ALLOWED_KEYS2);
|
|
32752
|
-
const { target, patch } = input;
|
|
32753
|
-
if (target === undefined || target === null)
|
|
32754
|
-
throw new DocumentApiValidationError2("INVALID_TARGET", "styles.apply requires a target object.");
|
|
32755
|
-
if (!isRecord3(target))
|
|
32756
|
-
throw new DocumentApiValidationError2("INVALID_TARGET", "target must be a non-null object.", {
|
|
32757
|
-
field: "target",
|
|
32758
|
-
value: target
|
|
32759
|
-
});
|
|
32760
|
-
assertNoUnknownInputFields2(target, STYLES_APPLY_TARGET_ALLOWED_KEYS2, "target");
|
|
32761
|
-
if (target.scope !== "docDefaults")
|
|
32762
|
-
throw new DocumentApiValidationError2("INVALID_TARGET", `target.scope must be "docDefaults", got ${JSON.stringify(target.scope)}.`, {
|
|
32763
|
-
field: "target.scope",
|
|
32764
|
-
value: target.scope
|
|
32765
|
-
});
|
|
32766
|
-
if (!VALID_CHANNELS2.has(target.channel))
|
|
32767
|
-
throw new DocumentApiValidationError2("INVALID_TARGET", `target.channel must be "run" or "paragraph", got ${JSON.stringify(target.channel)}.`, {
|
|
32768
|
-
field: "target.channel",
|
|
32769
|
-
value: target.channel
|
|
32770
|
-
});
|
|
32771
|
-
const channel = target.channel;
|
|
32772
|
-
if (patch === undefined || patch === null)
|
|
32773
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", "styles.apply requires a patch object.");
|
|
32774
|
-
if (!isRecord3(patch))
|
|
32775
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", "patch must be a non-null object.", {
|
|
32776
|
-
field: "patch",
|
|
32777
|
-
value: patch
|
|
32778
|
-
});
|
|
32779
|
-
const patchKeys = Object.keys(patch);
|
|
32780
|
-
const allowedKeys = ALLOWED_KEYS_BY_CHANNEL2[channel];
|
|
32781
|
-
if (patchKeys.length === 0)
|
|
32782
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", "patch must include at least one property.");
|
|
32783
|
-
for (const key of patchKeys) {
|
|
32784
|
-
if (!allowedKeys.has(key)) {
|
|
32785
|
-
const otherChannel = channel === "run" ? "paragraph" : "run";
|
|
32786
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", `Unknown patch key "${key}" for channel "${channel}".${ALLOWED_KEYS_BY_CHANNEL2[otherChannel].has(key) ? ` "${key}" is a ${otherChannel}-channel property.` : ""} Allowed keys: ${[...allowedKeys].join(", ")}.`, {
|
|
32787
|
-
field: "patch",
|
|
32788
|
-
key
|
|
32789
|
-
});
|
|
32790
|
-
}
|
|
32791
|
-
const def = getPropertyDefinition2(key, channel);
|
|
32792
|
-
if (def)
|
|
32793
|
-
validatePropertyValue2(def, patch[key]);
|
|
32794
|
-
}
|
|
32795
|
-
}
|
|
32796
|
-
function validateStylesApplyOptions2(options) {
|
|
32797
|
-
if (options === undefined || options === null)
|
|
32798
|
-
return;
|
|
32799
|
-
if (!isRecord3(options))
|
|
32800
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", "styles.apply options must be a non-null object.");
|
|
32801
|
-
for (const key of Object.keys(options))
|
|
32802
|
-
if (!STYLES_APPLY_OPTIONS_ALLOWED_KEYS2.has(key))
|
|
32803
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", `Unknown options key "${key}". Allowed keys: ${[...STYLES_APPLY_OPTIONS_ALLOWED_KEYS2].join(", ")}.`, {
|
|
32804
|
-
field: "options",
|
|
32805
|
-
key
|
|
32806
|
-
});
|
|
32807
|
-
if (options.dryRun !== undefined && typeof options.dryRun !== "boolean")
|
|
32808
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", "options.dryRun must be a boolean.", {
|
|
32809
|
-
field: "options.dryRun",
|
|
32810
|
-
value: options.dryRun
|
|
32811
|
-
});
|
|
32812
|
-
if (options.expectedRevision !== undefined && typeof options.expectedRevision !== "string")
|
|
32813
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", "options.expectedRevision must be a string.", {
|
|
32814
|
-
field: "options.expectedRevision",
|
|
32815
|
-
value: options.expectedRevision
|
|
32816
|
-
});
|
|
32817
|
-
}
|
|
32818
|
-
function assertNoUnknownInputFields2(obj, allowlist, prefix) {
|
|
32819
|
-
for (const key of Object.keys(obj))
|
|
32820
|
-
if (!allowlist.has(key)) {
|
|
32821
|
-
const location2 = prefix ? `${prefix}.${key}` : key;
|
|
32822
|
-
throw new DocumentApiValidationError2("INVALID_INPUT", `Unknown field "${location2}" on styles.apply input. Allowed fields: ${[...allowlist].join(", ")}.`, { field: location2 });
|
|
32823
|
-
}
|
|
32824
|
-
}
|
|
32825
|
-
function normalizeStylesApplyOptions2(options) {
|
|
32826
|
-
return {
|
|
32827
|
-
dryRun: options?.dryRun ?? false,
|
|
32828
|
-
expectedRevision: options?.expectedRevision
|
|
32829
|
-
};
|
|
32830
|
-
}
|
|
32831
|
-
function executeStylesApply2(adapter, input, options) {
|
|
32832
|
-
validateStylesApplyInput2(input);
|
|
32833
|
-
validateStylesApplyOptions2(options);
|
|
32834
|
-
return adapter.apply(input, normalizeStylesApplyOptions2(options));
|
|
32835
|
-
}
|
|
32836
33184
|
function executeGetNode2(adapter, address2) {
|
|
32837
33185
|
return adapter.getNode(address2);
|
|
32838
33186
|
}
|
|
@@ -32854,7 +33202,7 @@ function executeInfo2(adapter, input) {
|
|
|
32854
33202
|
function validateDeleteInput2(input) {
|
|
32855
33203
|
if (!isRecord3(input))
|
|
32856
33204
|
throw new DocumentApiValidationError2("INVALID_TARGET", "Delete input must be a non-null object.");
|
|
32857
|
-
|
|
33205
|
+
assertNoUnknownFields3(input, DELETE_INPUT_ALLOWED_KEYS2, "delete");
|
|
32858
33206
|
const { target } = input;
|
|
32859
33207
|
if (target === undefined)
|
|
32860
33208
|
throw new DocumentApiValidationError2("INVALID_TARGET", "Delete requires a target.");
|
|
@@ -32875,7 +33223,7 @@ function executeDelete2(adapter, input, options) {
|
|
|
32875
33223
|
function validateInsertInput2(input) {
|
|
32876
33224
|
if (!isRecord3(input))
|
|
32877
33225
|
throw new DocumentApiValidationError2("INVALID_TARGET", "Insert input must be a non-null object.");
|
|
32878
|
-
|
|
33226
|
+
assertNoUnknownFields3(input, INSERT_INPUT_ALLOWED_KEYS2, "insert");
|
|
32879
33227
|
const { target, value, type } = input;
|
|
32880
33228
|
if (target !== undefined && !isTextAddress2(target))
|
|
32881
33229
|
throw new DocumentApiValidationError2("INVALID_TARGET", "target must be a text address object.", {
|
|
@@ -32979,7 +33327,7 @@ function executeListsConvertToText2(adapter, input, options) {
|
|
|
32979
33327
|
function validateReplaceInput2(input) {
|
|
32980
33328
|
if (!isRecord3(input))
|
|
32981
33329
|
throw new DocumentApiValidationError2("INVALID_TARGET", "Replace input must be a non-null object.");
|
|
32982
|
-
|
|
33330
|
+
assertNoUnknownFields3(input, REPLACE_INPUT_ALLOWED_KEYS2, "replace");
|
|
32983
33331
|
const { target, text: text$2 } = input;
|
|
32984
33332
|
if (target === undefined)
|
|
32985
33333
|
throw new DocumentApiValidationError2("INVALID_TARGET", "Replace requires a target.");
|
|
@@ -50160,7 +50508,7 @@ var isRegExp = (value) => {
|
|
|
50160
50508
|
tracked: false,
|
|
50161
50509
|
carrier: runAttributeCarrier2(runPropertyKey ?? key),
|
|
50162
50510
|
schema
|
|
50163
|
-
}), INLINE_PROPERTY_REGISTRY2, INLINE_PROPERTY_KEY_SET2, INLINE_PROPERTY_BY_KEY2, UNDERLINE_OBJECT_ALLOWED_KEYS2, SHADING_ALLOWED_KEYS2, BORDER_ALLOWED_KEYS2, FIT_TEXT_ALLOWED_KEYS2, LANG_ALLOWED_KEYS2, RFONTS_ALLOWED_KEYS2, EAST_ASIAN_LAYOUT_ALLOWED_KEYS2, STYLISTIC_SET_ALLOWED_KEYS2, VERT_ALIGN_VALUES2, NONE_FAILURES2, NONE_THROWS2, T_NOT_FOUND2, T_NOT_FOUND_CAPABLE2, T_PLAN_ENGINE2, T_NOT_FOUND_COMMAND2, T_NOT_FOUND_COMMAND_TRACKED2, T_QUERY_MATCH2, T_SECTION_CREATE2, T_SECTION_READ2, T_PARAGRAPH_MUTATION2, T_SECTION_MUTATION2, T_SECTION_SETTINGS_MUTATION2, FORMAT_INLINE_ALIAS_OPERATION_DEFINITIONS2, OPERATION_DEFINITIONS2, OPERATION_IDS2, COMMAND_CATALOG2, PARAGRAPH_ALIGNMENTS2, TAB_STOP_ALIGNMENTS2, TAB_STOP_LEADERS2, BORDER_SIDES2, CLEAR_BORDER_SIDES2, LINE_RULES2, PARAGRAPH_BLOCK_TYPES2, SET_STYLE_KEYS2, CLEAR_STYLE_KEYS2, RESET_DIRECT_FORMATTING_KEYS2, SET_ALIGNMENT_KEYS2, CLEAR_ALIGNMENT_KEYS2, SET_INDENTATION_KEYS2, CLEAR_INDENTATION_KEYS2, SET_SPACING_KEYS2, CLEAR_SPACING_KEYS2, SET_KEEP_OPTIONS_KEYS2, SET_OUTLINE_LEVEL_KEYS2, SET_FLOW_OPTIONS_KEYS2, SET_TAB_STOP_KEYS2, CLEAR_TAB_STOP_KEYS2, CLEAR_ALL_TAB_STOPS_KEYS2, SET_BORDER_KEYS2, CLEAR_BORDER_KEYS2, SET_SHADING_KEYS2, CLEAR_SHADING_KEYS2, nodeTypeValues2, blockNodeTypeValues2, deletableBlockNodeTypeValues2, inlineNodeTypeValues2, rangeSchema2, textAddressSchema2, textTargetSchema2, blockNodeAddressSchema2, deletableBlockNodeAddressSchema2, paragraphAddressSchema2, headingAddressSchema2, listItemAddressSchema2, paragraphTargetSchema2, sectionAddressSchema2, nodeAddressSchema2, commentAddressSchema2, trackedChangeAddressSchema2, entityAddressSchema2, resolvedHandleSchema2, pageInfoSchema2, receiptSuccessSchema2, textMutationResolutionSchema2, textMutationSuccessSchema2, matchBlockSchema2, trackChangeRefSchema2, createParagraphSuccessSchema2, createHeadingSuccessSchema2, headingLevelSchema2, listsInsertSuccessSchema2, listsMutateItemSuccessSchema2, nodeSummarySchema2, nodeInfoSchema2, matchContextSchema2, unknownNodeDiagnosticSchema2, textSelectorSchema2, nodeSelectorSchema2, findItemDomainSchema2, documentInfoCountsSchema2, documentInfoOutlineItemSchema2, documentInfoCapabilitiesSchema2, listKindSchema2, listInsertPositionSchema2, sectionBreakTypeSchema2, sectionOrientationSchema2, sectionVerticalAlignSchema2, sectionDirectionSchema2, sectionHeaderFooterKindSchema2, sectionHeaderFooterVariantSchema2, sectionLineNumberRestartSchema2, sectionPageNumberFormatSchema2, sectionRangeDomainSchema2, sectionPageMarginsSchema2, sectionHeaderFooterMarginsSchema2, sectionPageSetupSchema2, sectionColumnsSchema2, sectionLineNumberingSchema2, sectionPageNumberingSchema2, sectionHeaderFooterRefsSchema2, sectionBorderSpecSchema2, sectionPageBordersSchema2, sectionMutationSuccessSchema2, documentMutationSuccessSchema2, paragraphMutationTargetSchema2, paragraphMutationSuccessSchema2, createSectionBreakSuccessSchema2, capabilityReasonsSchema2, capabilityFlagSchema2, operationRuntimeCapabilitySchema2, operationCapabilitiesSchema2, inlinePropertyCapabilitySchema2, formatCapabilitiesSchema2, planEngineCapabilitiesSchema2, tableCreateLocationSchema2, formatInlineAliasOperationSchemas2, tocMutationFailureSchema2, tocMutationSuccessSchema2, tocEntryMutationFailureSchema2, tocEntryMutationSuccessSchema2, GROUP_METADATA2, STEP_OP_CATALOG_UNFROZEN2, PUBLIC_STEP_OP_CATALOG_UNFROZEN2, PUBLIC_MUTATION_STEP_OP_IDS2, PUBLIC_MUTATION_STEP_OP_SET2, CAPABILITY_REASON_CODES2,
|
|
50511
|
+
}), INLINE_PROPERTY_REGISTRY2, INLINE_PROPERTY_KEY_SET2, INLINE_PROPERTY_BY_KEY2, UNDERLINE_OBJECT_ALLOWED_KEYS2, SHADING_ALLOWED_KEYS2, BORDER_ALLOWED_KEYS2, FIT_TEXT_ALLOWED_KEYS2, LANG_ALLOWED_KEYS2, RFONTS_ALLOWED_KEYS2, EAST_ASIAN_LAYOUT_ALLOWED_KEYS2, STYLISTIC_SET_ALLOWED_KEYS2, VERT_ALIGN_VALUES2, NONE_FAILURES2, NONE_THROWS2, T_NOT_FOUND2, T_NOT_FOUND_CAPABLE2, T_PLAN_ENGINE2, T_NOT_FOUND_COMMAND2, T_NOT_FOUND_COMMAND_TRACKED2, T_QUERY_MATCH2, T_SECTION_CREATE2, T_SECTION_READ2, T_PARAGRAPH_MUTATION2, T_SECTION_MUTATION2, T_SECTION_SETTINGS_MUTATION2, FORMAT_INLINE_ALIAS_OPERATION_DEFINITIONS2, OPERATION_DEFINITIONS2, OPERATION_IDS2, COMMAND_CATALOG2, PARAGRAPH_ALIGNMENTS2, TAB_STOP_ALIGNMENTS2, TAB_STOP_LEADERS2, BORDER_SIDES2, CLEAR_BORDER_SIDES2, LINE_RULES2, PARAGRAPH_BLOCK_TYPES2, SET_STYLE_KEYS2, CLEAR_STYLE_KEYS2, RESET_DIRECT_FORMATTING_KEYS2, SET_ALIGNMENT_KEYS2, CLEAR_ALIGNMENT_KEYS2, SET_INDENTATION_KEYS2, CLEAR_INDENTATION_KEYS2, SET_SPACING_KEYS2, CLEAR_SPACING_KEYS2, SET_KEEP_OPTIONS_KEYS2, SET_OUTLINE_LEVEL_KEYS2, SET_FLOW_OPTIONS_KEYS2, SET_TAB_STOP_KEYS2, CLEAR_TAB_STOP_KEYS2, CLEAR_ALL_TAB_STOPS_KEYS2, SET_BORDER_KEYS2, CLEAR_BORDER_KEYS2, SET_SHADING_KEYS2, CLEAR_SHADING_KEYS2, ST_ON_OFF_ON_VALUES2, ST_ON_OFF_OFF_VALUES2, ST_UNDERLINE_VALUES2, ST_UNDERLINE_VALUE_SET2, ST_VERTICAL_ALIGN_RUN2, ST_EM2, ST_TEXT_ALIGNMENT2, ST_TEXT_DIRECTION2, ST_TEXTBOX_TIGHT_WRAP2, ST_TEXT_TRANSFORM2, ST_JUSTIFICATION2, FONT_FAMILY_SCHEMA2, COLOR_SCHEMA2, SPACING_SCHEMA2, INDENT_SCHEMA2, UNDERLINE_SCHEMA2, BORDER_PROPERTIES_SCHEMA2, SHADING_SCHEMA2, LANG_SCHEMA2, EAST_ASIAN_LAYOUT_SCHEMA2, FIT_TEXT_SCHEMA2, NUMBERING_PROPERTIES_SCHEMA2, FRAME_PR_SCHEMA2, PARAGRAPH_BORDERS_SCHEMA2, TAB_STOP_SCHEMA2, PROPERTY_REGISTRY3, ALLOWED_KEYS_BY_CHANNEL2, PROPERTY_INDEX2, EXCLUDED_KEYS2, INPUT_ALLOWED_KEYS2, TARGET_ALLOWED_KEYS2, OPTIONS_ALLOWED_KEYS2, VALID_CHANNELS2, nodeTypeValues2, blockNodeTypeValues2, deletableBlockNodeTypeValues2, inlineNodeTypeValues2, rangeSchema2, textAddressSchema2, textTargetSchema2, blockNodeAddressSchema2, deletableBlockNodeAddressSchema2, paragraphAddressSchema2, headingAddressSchema2, listItemAddressSchema2, paragraphTargetSchema2, sectionAddressSchema2, nodeAddressSchema2, commentAddressSchema2, trackedChangeAddressSchema2, entityAddressSchema2, resolvedHandleSchema2, pageInfoSchema2, receiptSuccessSchema2, textMutationResolutionSchema2, textMutationSuccessSchema2, matchBlockSchema2, trackChangeRefSchema2, createParagraphSuccessSchema2, createHeadingSuccessSchema2, headingLevelSchema2, listsInsertSuccessSchema2, listsMutateItemSuccessSchema2, nodeSummarySchema2, nodeInfoSchema2, matchContextSchema2, unknownNodeDiagnosticSchema2, textSelectorSchema2, nodeSelectorSchema2, findItemDomainSchema2, documentInfoCountsSchema2, documentInfoOutlineItemSchema2, documentInfoCapabilitiesSchema2, listKindSchema2, listInsertPositionSchema2, sectionBreakTypeSchema2, sectionOrientationSchema2, sectionVerticalAlignSchema2, sectionDirectionSchema2, sectionHeaderFooterKindSchema2, sectionHeaderFooterVariantSchema2, sectionLineNumberRestartSchema2, sectionPageNumberFormatSchema2, sectionRangeDomainSchema2, sectionPageMarginsSchema2, sectionHeaderFooterMarginsSchema2, sectionPageSetupSchema2, sectionColumnsSchema2, sectionLineNumberingSchema2, sectionPageNumberingSchema2, sectionHeaderFooterRefsSchema2, sectionBorderSpecSchema2, sectionPageBordersSchema2, sectionMutationSuccessSchema2, documentMutationSuccessSchema2, paragraphMutationTargetSchema2, paragraphMutationSuccessSchema2, createSectionBreakSuccessSchema2, capabilityReasonsSchema2, capabilityFlagSchema2, operationRuntimeCapabilitySchema2, operationCapabilitiesSchema2, inlinePropertyCapabilitySchema2, formatCapabilitiesSchema2, planEngineCapabilitiesSchema2, tableCreateLocationSchema2, formatInlineAliasOperationSchemas2, tocMutationFailureSchema2, tocMutationSuccessSchema2, tocEntryMutationFailureSchema2, tocEntryMutationSuccessSchema2, GROUP_METADATA2, STEP_OP_CATALOG_UNFROZEN2, PUBLIC_STEP_OP_CATALOG_UNFROZEN2, PUBLIC_MUTATION_STEP_OP_IDS2, PUBLIC_MUTATION_STEP_OP_SET2, CAPABILITY_REASON_CODES2, CREATE_COMMENT_ALLOWED_KEYS2, PATCH_COMMENT_ALLOWED_KEYS2, STYLE_APPLY_INPUT_ALLOWED_KEYS2, INLINE_ALIAS_INPUT_ALLOWED_KEYS2, DELETE_INPUT_ALLOWED_KEYS2, INSERT_INPUT_ALLOWED_KEYS2, VALID_INSERT_TYPES2, REPLACE_INPUT_ALLOWED_KEYS2, SECTION_BREAK_TYPES$1, SUPPORTED_DELETE_NODE_TYPES2, REJECTED_DELETE_NODE_TYPES2, TABLE_LOCATOR_OPS2, ROW_LOCATOR_OPS2, COLUMN_LOCATOR_OPS2, MERGE_RANGE_LOCATOR_OPS2, DEFAULT_SECTIONS_LIST_LIMIT2 = 250, SECTION_BREAK_TYPES3, SECTION_ORIENTATIONS2, SECTION_VERTICAL_ALIGNS2, SECTION_DIRECTIONS2, HEADER_FOOTER_KINDS2, HEADER_FOOTER_VARIANTS2, LINE_NUMBER_RESTARTS2, PAGE_NUMBER_FORMATS2, PAGE_BORDER_DISPLAYS2, PAGE_BORDER_OFFSET_FROM_VALUES2, PAGE_BORDER_Z_ORDER_VALUES2, _buffers, _defaultCollectionId = null, _nextCollectionId = 1, generateV2HandlerEntity = (handlerName, translator$208) => ({
|
|
50164
50512
|
handlerName,
|
|
50165
50513
|
handler: (params) => {
|
|
50166
50514
|
const { nodes } = params;
|
|
@@ -61544,7 +61892,7 @@ var isRegExp = (value) => {
|
|
|
61544
61892
|
state.kern = kernNode.attributes["w:val"];
|
|
61545
61893
|
}
|
|
61546
61894
|
}, SuperConverter;
|
|
61547
|
-
var
|
|
61895
|
+
var init_SuperConverter_CoCZX_fP_es = __esm(() => {
|
|
61548
61896
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
61549
61897
|
init_jszip_ChlR43oI_es();
|
|
61550
61898
|
init_xml_js_DLE8mr0n_es();
|
|
@@ -66626,6 +66974,700 @@ var init_SuperConverter_CDs2fwu4_es = __esm(() => {
|
|
|
66626
66974
|
"pattern"
|
|
66627
66975
|
]);
|
|
66628
66976
|
CLEAR_SHADING_KEYS2 = new Set(["target"]);
|
|
66977
|
+
ST_ON_OFF_ON_VALUES2 = new Set([
|
|
66978
|
+
"true",
|
|
66979
|
+
"1",
|
|
66980
|
+
"on"
|
|
66981
|
+
]);
|
|
66982
|
+
ST_ON_OFF_OFF_VALUES2 = new Set([
|
|
66983
|
+
"false",
|
|
66984
|
+
"0",
|
|
66985
|
+
"off"
|
|
66986
|
+
]);
|
|
66987
|
+
ST_UNDERLINE_VALUES2 = [
|
|
66988
|
+
"single",
|
|
66989
|
+
"double",
|
|
66990
|
+
"thick",
|
|
66991
|
+
"dotted",
|
|
66992
|
+
"dottedHeavy",
|
|
66993
|
+
"dash",
|
|
66994
|
+
"dashedHeavy",
|
|
66995
|
+
"dashLong",
|
|
66996
|
+
"dashLongHeavy",
|
|
66997
|
+
"dotDash",
|
|
66998
|
+
"dashDotHeavy",
|
|
66999
|
+
"dotDotDash",
|
|
67000
|
+
"dashDotDotHeavy",
|
|
67001
|
+
"wave",
|
|
67002
|
+
"wavyHeavy",
|
|
67003
|
+
"wavyDouble",
|
|
67004
|
+
"words",
|
|
67005
|
+
"none"
|
|
67006
|
+
];
|
|
67007
|
+
ST_UNDERLINE_VALUE_SET2 = new Set(ST_UNDERLINE_VALUES2);
|
|
67008
|
+
ST_VERTICAL_ALIGN_RUN2 = [
|
|
67009
|
+
"superscript",
|
|
67010
|
+
"subscript",
|
|
67011
|
+
"baseline"
|
|
67012
|
+
];
|
|
67013
|
+
ST_EM2 = [
|
|
67014
|
+
"none",
|
|
67015
|
+
"dot",
|
|
67016
|
+
"comma",
|
|
67017
|
+
"circle",
|
|
67018
|
+
"sesame"
|
|
67019
|
+
];
|
|
67020
|
+
ST_TEXT_ALIGNMENT2 = [
|
|
67021
|
+
"top",
|
|
67022
|
+
"center",
|
|
67023
|
+
"baseline",
|
|
67024
|
+
"bottom",
|
|
67025
|
+
"auto"
|
|
67026
|
+
];
|
|
67027
|
+
ST_TEXT_DIRECTION2 = [
|
|
67028
|
+
"lrTb",
|
|
67029
|
+
"tbRl",
|
|
67030
|
+
"btLr",
|
|
67031
|
+
"lrTbV",
|
|
67032
|
+
"tbRlV",
|
|
67033
|
+
"tbLrV"
|
|
67034
|
+
];
|
|
67035
|
+
ST_TEXTBOX_TIGHT_WRAP2 = [
|
|
67036
|
+
"none",
|
|
67037
|
+
"allLines",
|
|
67038
|
+
"firstAndLastLine",
|
|
67039
|
+
"firstLineOnly",
|
|
67040
|
+
"lastLineOnly"
|
|
67041
|
+
];
|
|
67042
|
+
ST_TEXT_TRANSFORM2 = ["uppercase", "none"];
|
|
67043
|
+
ST_JUSTIFICATION2 = [
|
|
67044
|
+
"left",
|
|
67045
|
+
"center",
|
|
67046
|
+
"right",
|
|
67047
|
+
"justify",
|
|
67048
|
+
"distribute"
|
|
67049
|
+
];
|
|
67050
|
+
FONT_FAMILY_SCHEMA2 = {
|
|
67051
|
+
kind: "object",
|
|
67052
|
+
children: {
|
|
67053
|
+
hint: { kind: "string" },
|
|
67054
|
+
ascii: { kind: "string" },
|
|
67055
|
+
hAnsi: { kind: "string" },
|
|
67056
|
+
eastAsia: { kind: "string" },
|
|
67057
|
+
cs: { kind: "string" },
|
|
67058
|
+
val: { kind: "string" },
|
|
67059
|
+
asciiTheme: { kind: "string" },
|
|
67060
|
+
hAnsiTheme: { kind: "string" },
|
|
67061
|
+
eastAsiaTheme: { kind: "string" },
|
|
67062
|
+
cstheme: { kind: "string" }
|
|
67063
|
+
}
|
|
67064
|
+
};
|
|
67065
|
+
COLOR_SCHEMA2 = {
|
|
67066
|
+
kind: "object",
|
|
67067
|
+
children: {
|
|
67068
|
+
val: { kind: "string" },
|
|
67069
|
+
themeColor: { kind: "string" },
|
|
67070
|
+
themeTint: { kind: "string" },
|
|
67071
|
+
themeShade: { kind: "string" }
|
|
67072
|
+
}
|
|
67073
|
+
};
|
|
67074
|
+
SPACING_SCHEMA2 = {
|
|
67075
|
+
kind: "object",
|
|
67076
|
+
children: {
|
|
67077
|
+
after: { kind: "integer" },
|
|
67078
|
+
afterAutospacing: { kind: "boolean" },
|
|
67079
|
+
afterLines: { kind: "integer" },
|
|
67080
|
+
before: { kind: "integer" },
|
|
67081
|
+
beforeAutospacing: { kind: "boolean" },
|
|
67082
|
+
beforeLines: { kind: "integer" },
|
|
67083
|
+
line: { kind: "integer" },
|
|
67084
|
+
lineRule: {
|
|
67085
|
+
kind: "enum",
|
|
67086
|
+
values: [
|
|
67087
|
+
"auto",
|
|
67088
|
+
"exact",
|
|
67089
|
+
"atLeast"
|
|
67090
|
+
]
|
|
67091
|
+
}
|
|
67092
|
+
}
|
|
67093
|
+
};
|
|
67094
|
+
INDENT_SCHEMA2 = {
|
|
67095
|
+
kind: "object",
|
|
67096
|
+
children: {
|
|
67097
|
+
end: { kind: "integer" },
|
|
67098
|
+
endChars: { kind: "integer" },
|
|
67099
|
+
firstLine: { kind: "integer" },
|
|
67100
|
+
firstLineChars: { kind: "integer" },
|
|
67101
|
+
hanging: { kind: "integer" },
|
|
67102
|
+
hangingChars: { kind: "integer" },
|
|
67103
|
+
left: { kind: "integer" },
|
|
67104
|
+
leftChars: { kind: "integer" },
|
|
67105
|
+
right: { kind: "integer" },
|
|
67106
|
+
rightChars: { kind: "integer" },
|
|
67107
|
+
start: { kind: "integer" },
|
|
67108
|
+
startChars: { kind: "integer" }
|
|
67109
|
+
}
|
|
67110
|
+
};
|
|
67111
|
+
UNDERLINE_SCHEMA2 = {
|
|
67112
|
+
kind: "object",
|
|
67113
|
+
children: {
|
|
67114
|
+
val: {
|
|
67115
|
+
kind: "enum",
|
|
67116
|
+
values: [...ST_UNDERLINE_VALUES2]
|
|
67117
|
+
},
|
|
67118
|
+
color: { kind: "string" },
|
|
67119
|
+
themeColor: { kind: "string" },
|
|
67120
|
+
themeTint: { kind: "string" },
|
|
67121
|
+
themeShade: { kind: "string" }
|
|
67122
|
+
}
|
|
67123
|
+
};
|
|
67124
|
+
BORDER_PROPERTIES_SCHEMA2 = {
|
|
67125
|
+
kind: "object",
|
|
67126
|
+
children: {
|
|
67127
|
+
val: { kind: "string" },
|
|
67128
|
+
color: { kind: "string" },
|
|
67129
|
+
themeColor: { kind: "string" },
|
|
67130
|
+
themeTint: { kind: "string" },
|
|
67131
|
+
themeShade: { kind: "string" },
|
|
67132
|
+
size: { kind: "integer" },
|
|
67133
|
+
space: { kind: "integer" },
|
|
67134
|
+
shadow: { kind: "boolean" },
|
|
67135
|
+
frame: { kind: "boolean" }
|
|
67136
|
+
}
|
|
67137
|
+
};
|
|
67138
|
+
SHADING_SCHEMA2 = {
|
|
67139
|
+
kind: "object",
|
|
67140
|
+
children: {
|
|
67141
|
+
color: { kind: "string" },
|
|
67142
|
+
fill: { kind: "string" },
|
|
67143
|
+
themeColor: { kind: "string" },
|
|
67144
|
+
themeFill: { kind: "string" },
|
|
67145
|
+
themeFillShade: { kind: "string" },
|
|
67146
|
+
themeFillTint: { kind: "string" },
|
|
67147
|
+
themeShade: { kind: "string" },
|
|
67148
|
+
themeTint: { kind: "string" },
|
|
67149
|
+
val: { kind: "string" }
|
|
67150
|
+
}
|
|
67151
|
+
};
|
|
67152
|
+
LANG_SCHEMA2 = {
|
|
67153
|
+
kind: "object",
|
|
67154
|
+
children: {
|
|
67155
|
+
val: { kind: "string" },
|
|
67156
|
+
eastAsia: { kind: "string" },
|
|
67157
|
+
bidi: { kind: "string" }
|
|
67158
|
+
}
|
|
67159
|
+
};
|
|
67160
|
+
EAST_ASIAN_LAYOUT_SCHEMA2 = {
|
|
67161
|
+
kind: "object",
|
|
67162
|
+
children: {
|
|
67163
|
+
id: { kind: "integer" },
|
|
67164
|
+
combine: { kind: "boolean" },
|
|
67165
|
+
combineBrackets: { kind: "string" },
|
|
67166
|
+
vert: { kind: "boolean" },
|
|
67167
|
+
vertCompress: { kind: "boolean" }
|
|
67168
|
+
}
|
|
67169
|
+
};
|
|
67170
|
+
FIT_TEXT_SCHEMA2 = {
|
|
67171
|
+
kind: "object",
|
|
67172
|
+
children: {
|
|
67173
|
+
val: { kind: "integer" },
|
|
67174
|
+
id: { kind: "integer" }
|
|
67175
|
+
}
|
|
67176
|
+
};
|
|
67177
|
+
NUMBERING_PROPERTIES_SCHEMA2 = {
|
|
67178
|
+
kind: "object",
|
|
67179
|
+
children: {
|
|
67180
|
+
ilvl: { kind: "integer" },
|
|
67181
|
+
numId: { kind: "integer" }
|
|
67182
|
+
}
|
|
67183
|
+
};
|
|
67184
|
+
FRAME_PR_SCHEMA2 = {
|
|
67185
|
+
kind: "object",
|
|
67186
|
+
children: {
|
|
67187
|
+
anchorLock: { kind: "boolean" },
|
|
67188
|
+
dropCap: { kind: "string" },
|
|
67189
|
+
h: { kind: "integer" },
|
|
67190
|
+
hAnchor: { kind: "string" },
|
|
67191
|
+
hRule: { kind: "string" },
|
|
67192
|
+
hSpace: { kind: "integer" },
|
|
67193
|
+
lines: { kind: "integer" },
|
|
67194
|
+
vAnchor: { kind: "string" },
|
|
67195
|
+
vSpace: { kind: "integer" },
|
|
67196
|
+
w: { kind: "integer" },
|
|
67197
|
+
wrap: { kind: "string" },
|
|
67198
|
+
x: { kind: "integer" },
|
|
67199
|
+
xAlign: { kind: "string" },
|
|
67200
|
+
y: { kind: "integer" },
|
|
67201
|
+
yAlign: { kind: "string" }
|
|
67202
|
+
}
|
|
67203
|
+
};
|
|
67204
|
+
PARAGRAPH_BORDERS_SCHEMA2 = {
|
|
67205
|
+
kind: "object",
|
|
67206
|
+
children: {
|
|
67207
|
+
top: BORDER_PROPERTIES_SCHEMA2,
|
|
67208
|
+
bottom: BORDER_PROPERTIES_SCHEMA2,
|
|
67209
|
+
left: BORDER_PROPERTIES_SCHEMA2,
|
|
67210
|
+
right: BORDER_PROPERTIES_SCHEMA2,
|
|
67211
|
+
between: BORDER_PROPERTIES_SCHEMA2,
|
|
67212
|
+
bar: BORDER_PROPERTIES_SCHEMA2
|
|
67213
|
+
}
|
|
67214
|
+
};
|
|
67215
|
+
TAB_STOP_SCHEMA2 = {
|
|
67216
|
+
kind: "array",
|
|
67217
|
+
item: {
|
|
67218
|
+
kind: "object",
|
|
67219
|
+
children: { tab: {
|
|
67220
|
+
kind: "object",
|
|
67221
|
+
children: {
|
|
67222
|
+
tabType: { kind: "string" },
|
|
67223
|
+
pos: { kind: "integer" },
|
|
67224
|
+
leader: { kind: "string" }
|
|
67225
|
+
}
|
|
67226
|
+
} }
|
|
67227
|
+
}
|
|
67228
|
+
};
|
|
67229
|
+
PROPERTY_REGISTRY3 = [
|
|
67230
|
+
{
|
|
67231
|
+
key: "bold",
|
|
67232
|
+
channel: "run",
|
|
67233
|
+
schema: { kind: "boolean" },
|
|
67234
|
+
mergeStrategy: "replace"
|
|
67235
|
+
},
|
|
67236
|
+
{
|
|
67237
|
+
key: "boldCs",
|
|
67238
|
+
channel: "run",
|
|
67239
|
+
schema: { kind: "boolean" },
|
|
67240
|
+
mergeStrategy: "replace"
|
|
67241
|
+
},
|
|
67242
|
+
{
|
|
67243
|
+
key: "italic",
|
|
67244
|
+
channel: "run",
|
|
67245
|
+
schema: { kind: "boolean" },
|
|
67246
|
+
mergeStrategy: "replace"
|
|
67247
|
+
},
|
|
67248
|
+
{
|
|
67249
|
+
key: "iCs",
|
|
67250
|
+
channel: "run",
|
|
67251
|
+
schema: { kind: "boolean" },
|
|
67252
|
+
mergeStrategy: "replace"
|
|
67253
|
+
},
|
|
67254
|
+
{
|
|
67255
|
+
key: "smallCaps",
|
|
67256
|
+
channel: "run",
|
|
67257
|
+
schema: { kind: "boolean" },
|
|
67258
|
+
mergeStrategy: "replace"
|
|
67259
|
+
},
|
|
67260
|
+
{
|
|
67261
|
+
key: "strike",
|
|
67262
|
+
channel: "run",
|
|
67263
|
+
schema: { kind: "boolean" },
|
|
67264
|
+
mergeStrategy: "replace"
|
|
67265
|
+
},
|
|
67266
|
+
{
|
|
67267
|
+
key: "dstrike",
|
|
67268
|
+
channel: "run",
|
|
67269
|
+
schema: { kind: "boolean" },
|
|
67270
|
+
mergeStrategy: "replace"
|
|
67271
|
+
},
|
|
67272
|
+
{
|
|
67273
|
+
key: "emboss",
|
|
67274
|
+
channel: "run",
|
|
67275
|
+
schema: { kind: "boolean" },
|
|
67276
|
+
mergeStrategy: "replace"
|
|
67277
|
+
},
|
|
67278
|
+
{
|
|
67279
|
+
key: "imprint",
|
|
67280
|
+
channel: "run",
|
|
67281
|
+
schema: { kind: "boolean" },
|
|
67282
|
+
mergeStrategy: "replace"
|
|
67283
|
+
},
|
|
67284
|
+
{
|
|
67285
|
+
key: "outline",
|
|
67286
|
+
channel: "run",
|
|
67287
|
+
schema: { kind: "boolean" },
|
|
67288
|
+
mergeStrategy: "replace"
|
|
67289
|
+
},
|
|
67290
|
+
{
|
|
67291
|
+
key: "shadow",
|
|
67292
|
+
channel: "run",
|
|
67293
|
+
schema: { kind: "boolean" },
|
|
67294
|
+
mergeStrategy: "replace"
|
|
67295
|
+
},
|
|
67296
|
+
{
|
|
67297
|
+
key: "vanish",
|
|
67298
|
+
channel: "run",
|
|
67299
|
+
schema: { kind: "boolean" },
|
|
67300
|
+
mergeStrategy: "replace"
|
|
67301
|
+
},
|
|
67302
|
+
{
|
|
67303
|
+
key: "webHidden",
|
|
67304
|
+
channel: "run",
|
|
67305
|
+
schema: { kind: "boolean" },
|
|
67306
|
+
mergeStrategy: "replace"
|
|
67307
|
+
},
|
|
67308
|
+
{
|
|
67309
|
+
key: "specVanish",
|
|
67310
|
+
channel: "run",
|
|
67311
|
+
schema: { kind: "boolean" },
|
|
67312
|
+
mergeStrategy: "replace"
|
|
67313
|
+
},
|
|
67314
|
+
{
|
|
67315
|
+
key: "snapToGrid",
|
|
67316
|
+
channel: "run",
|
|
67317
|
+
schema: { kind: "boolean" },
|
|
67318
|
+
mergeStrategy: "replace"
|
|
67319
|
+
},
|
|
67320
|
+
{
|
|
67321
|
+
key: "noProof",
|
|
67322
|
+
channel: "run",
|
|
67323
|
+
schema: { kind: "boolean" },
|
|
67324
|
+
mergeStrategy: "replace"
|
|
67325
|
+
},
|
|
67326
|
+
{
|
|
67327
|
+
key: "fontSize",
|
|
67328
|
+
channel: "run",
|
|
67329
|
+
schema: { kind: "integer" },
|
|
67330
|
+
mergeStrategy: "replace"
|
|
67331
|
+
},
|
|
67332
|
+
{
|
|
67333
|
+
key: "fontSizeCs",
|
|
67334
|
+
channel: "run",
|
|
67335
|
+
schema: { kind: "integer" },
|
|
67336
|
+
mergeStrategy: "replace"
|
|
67337
|
+
},
|
|
67338
|
+
{
|
|
67339
|
+
key: "letterSpacing",
|
|
67340
|
+
channel: "run",
|
|
67341
|
+
schema: { kind: "integer" },
|
|
67342
|
+
mergeStrategy: "replace"
|
|
67343
|
+
},
|
|
67344
|
+
{
|
|
67345
|
+
key: "kern",
|
|
67346
|
+
channel: "run",
|
|
67347
|
+
schema: { kind: "integer" },
|
|
67348
|
+
mergeStrategy: "replace"
|
|
67349
|
+
},
|
|
67350
|
+
{
|
|
67351
|
+
key: "position",
|
|
67352
|
+
channel: "run",
|
|
67353
|
+
schema: { kind: "integer" },
|
|
67354
|
+
mergeStrategy: "replace"
|
|
67355
|
+
},
|
|
67356
|
+
{
|
|
67357
|
+
key: "w",
|
|
67358
|
+
channel: "run",
|
|
67359
|
+
schema: {
|
|
67360
|
+
kind: "integer",
|
|
67361
|
+
min: 1,
|
|
67362
|
+
max: 600
|
|
67363
|
+
},
|
|
67364
|
+
mergeStrategy: "replace"
|
|
67365
|
+
},
|
|
67366
|
+
{
|
|
67367
|
+
key: "textTransform",
|
|
67368
|
+
channel: "run",
|
|
67369
|
+
schema: {
|
|
67370
|
+
kind: "enum",
|
|
67371
|
+
values: [...ST_TEXT_TRANSFORM2]
|
|
67372
|
+
},
|
|
67373
|
+
mergeStrategy: "replace"
|
|
67374
|
+
},
|
|
67375
|
+
{
|
|
67376
|
+
key: "vertAlign",
|
|
67377
|
+
channel: "run",
|
|
67378
|
+
schema: {
|
|
67379
|
+
kind: "enum",
|
|
67380
|
+
values: [...ST_VERTICAL_ALIGN_RUN2]
|
|
67381
|
+
},
|
|
67382
|
+
mergeStrategy: "replace"
|
|
67383
|
+
},
|
|
67384
|
+
{
|
|
67385
|
+
key: "em",
|
|
67386
|
+
channel: "run",
|
|
67387
|
+
schema: {
|
|
67388
|
+
kind: "enum",
|
|
67389
|
+
values: [...ST_EM2]
|
|
67390
|
+
},
|
|
67391
|
+
mergeStrategy: "replace"
|
|
67392
|
+
},
|
|
67393
|
+
{
|
|
67394
|
+
key: "effect",
|
|
67395
|
+
channel: "run",
|
|
67396
|
+
schema: { kind: "string" },
|
|
67397
|
+
mergeStrategy: "replace"
|
|
67398
|
+
},
|
|
67399
|
+
{
|
|
67400
|
+
key: "fontFamily",
|
|
67401
|
+
channel: "run",
|
|
67402
|
+
schema: FONT_FAMILY_SCHEMA2,
|
|
67403
|
+
mergeStrategy: "shallowMerge"
|
|
67404
|
+
},
|
|
67405
|
+
{
|
|
67406
|
+
key: "color",
|
|
67407
|
+
channel: "run",
|
|
67408
|
+
schema: COLOR_SCHEMA2,
|
|
67409
|
+
mergeStrategy: "shallowMerge"
|
|
67410
|
+
},
|
|
67411
|
+
{
|
|
67412
|
+
key: "underline",
|
|
67413
|
+
channel: "run",
|
|
67414
|
+
schema: UNDERLINE_SCHEMA2,
|
|
67415
|
+
mergeStrategy: "shallowMerge"
|
|
67416
|
+
},
|
|
67417
|
+
{
|
|
67418
|
+
key: "borders",
|
|
67419
|
+
channel: "run",
|
|
67420
|
+
schema: BORDER_PROPERTIES_SCHEMA2,
|
|
67421
|
+
mergeStrategy: "shallowMerge"
|
|
67422
|
+
},
|
|
67423
|
+
{
|
|
67424
|
+
key: "shading",
|
|
67425
|
+
channel: "run",
|
|
67426
|
+
schema: SHADING_SCHEMA2,
|
|
67427
|
+
mergeStrategy: "shallowMerge"
|
|
67428
|
+
},
|
|
67429
|
+
{
|
|
67430
|
+
key: "lang",
|
|
67431
|
+
channel: "run",
|
|
67432
|
+
schema: LANG_SCHEMA2,
|
|
67433
|
+
mergeStrategy: "shallowMerge"
|
|
67434
|
+
},
|
|
67435
|
+
{
|
|
67436
|
+
key: "eastAsianLayout",
|
|
67437
|
+
channel: "run",
|
|
67438
|
+
schema: EAST_ASIAN_LAYOUT_SCHEMA2,
|
|
67439
|
+
mergeStrategy: "shallowMerge"
|
|
67440
|
+
},
|
|
67441
|
+
{
|
|
67442
|
+
key: "fitText",
|
|
67443
|
+
channel: "run",
|
|
67444
|
+
schema: FIT_TEXT_SCHEMA2,
|
|
67445
|
+
mergeStrategy: "shallowMerge"
|
|
67446
|
+
},
|
|
67447
|
+
{
|
|
67448
|
+
key: "keepLines",
|
|
67449
|
+
channel: "paragraph",
|
|
67450
|
+
schema: { kind: "boolean" },
|
|
67451
|
+
mergeStrategy: "replace"
|
|
67452
|
+
},
|
|
67453
|
+
{
|
|
67454
|
+
key: "keepNext",
|
|
67455
|
+
channel: "paragraph",
|
|
67456
|
+
schema: { kind: "boolean" },
|
|
67457
|
+
mergeStrategy: "replace"
|
|
67458
|
+
},
|
|
67459
|
+
{
|
|
67460
|
+
key: "widowControl",
|
|
67461
|
+
channel: "paragraph",
|
|
67462
|
+
schema: { kind: "boolean" },
|
|
67463
|
+
mergeStrategy: "replace"
|
|
67464
|
+
},
|
|
67465
|
+
{
|
|
67466
|
+
key: "contextualSpacing",
|
|
67467
|
+
channel: "paragraph",
|
|
67468
|
+
schema: { kind: "boolean" },
|
|
67469
|
+
mergeStrategy: "replace"
|
|
67470
|
+
},
|
|
67471
|
+
{
|
|
67472
|
+
key: "pageBreakBefore",
|
|
67473
|
+
channel: "paragraph",
|
|
67474
|
+
schema: { kind: "boolean" },
|
|
67475
|
+
mergeStrategy: "replace"
|
|
67476
|
+
},
|
|
67477
|
+
{
|
|
67478
|
+
key: "suppressAutoHyphens",
|
|
67479
|
+
channel: "paragraph",
|
|
67480
|
+
schema: { kind: "boolean" },
|
|
67481
|
+
mergeStrategy: "replace"
|
|
67482
|
+
},
|
|
67483
|
+
{
|
|
67484
|
+
key: "suppressLineNumbers",
|
|
67485
|
+
channel: "paragraph",
|
|
67486
|
+
schema: { kind: "boolean" },
|
|
67487
|
+
mergeStrategy: "replace"
|
|
67488
|
+
},
|
|
67489
|
+
{
|
|
67490
|
+
key: "suppressOverlap",
|
|
67491
|
+
channel: "paragraph",
|
|
67492
|
+
schema: { kind: "boolean" },
|
|
67493
|
+
mergeStrategy: "replace"
|
|
67494
|
+
},
|
|
67495
|
+
{
|
|
67496
|
+
key: "mirrorIndents",
|
|
67497
|
+
channel: "paragraph",
|
|
67498
|
+
schema: { kind: "boolean" },
|
|
67499
|
+
mergeStrategy: "replace"
|
|
67500
|
+
},
|
|
67501
|
+
{
|
|
67502
|
+
key: "wordWrap",
|
|
67503
|
+
channel: "paragraph",
|
|
67504
|
+
schema: { kind: "boolean" },
|
|
67505
|
+
mergeStrategy: "replace"
|
|
67506
|
+
},
|
|
67507
|
+
{
|
|
67508
|
+
key: "kinsoku",
|
|
67509
|
+
channel: "paragraph",
|
|
67510
|
+
schema: { kind: "boolean" },
|
|
67511
|
+
mergeStrategy: "replace"
|
|
67512
|
+
},
|
|
67513
|
+
{
|
|
67514
|
+
key: "overflowPunct",
|
|
67515
|
+
channel: "paragraph",
|
|
67516
|
+
schema: { kind: "boolean" },
|
|
67517
|
+
mergeStrategy: "replace"
|
|
67518
|
+
},
|
|
67519
|
+
{
|
|
67520
|
+
key: "topLinePunct",
|
|
67521
|
+
channel: "paragraph",
|
|
67522
|
+
schema: { kind: "boolean" },
|
|
67523
|
+
mergeStrategy: "replace"
|
|
67524
|
+
},
|
|
67525
|
+
{
|
|
67526
|
+
key: "autoSpaceDE",
|
|
67527
|
+
channel: "paragraph",
|
|
67528
|
+
schema: { kind: "boolean" },
|
|
67529
|
+
mergeStrategy: "replace"
|
|
67530
|
+
},
|
|
67531
|
+
{
|
|
67532
|
+
key: "autoSpaceDN",
|
|
67533
|
+
channel: "paragraph",
|
|
67534
|
+
schema: { kind: "boolean" },
|
|
67535
|
+
mergeStrategy: "replace"
|
|
67536
|
+
},
|
|
67537
|
+
{
|
|
67538
|
+
key: "adjustRightInd",
|
|
67539
|
+
channel: "paragraph",
|
|
67540
|
+
schema: { kind: "boolean" },
|
|
67541
|
+
mergeStrategy: "replace"
|
|
67542
|
+
},
|
|
67543
|
+
{
|
|
67544
|
+
key: "rightToLeft",
|
|
67545
|
+
channel: "paragraph",
|
|
67546
|
+
schema: { kind: "boolean" },
|
|
67547
|
+
mergeStrategy: "replace"
|
|
67548
|
+
},
|
|
67549
|
+
{
|
|
67550
|
+
key: "snapToGrid",
|
|
67551
|
+
channel: "paragraph",
|
|
67552
|
+
schema: { kind: "boolean" },
|
|
67553
|
+
mergeStrategy: "replace"
|
|
67554
|
+
},
|
|
67555
|
+
{
|
|
67556
|
+
key: "outlineLvl",
|
|
67557
|
+
channel: "paragraph",
|
|
67558
|
+
schema: {
|
|
67559
|
+
kind: "integer",
|
|
67560
|
+
min: 0,
|
|
67561
|
+
max: 9
|
|
67562
|
+
},
|
|
67563
|
+
mergeStrategy: "replace"
|
|
67564
|
+
},
|
|
67565
|
+
{
|
|
67566
|
+
key: "justification",
|
|
67567
|
+
channel: "paragraph",
|
|
67568
|
+
schema: {
|
|
67569
|
+
kind: "enum",
|
|
67570
|
+
values: [...ST_JUSTIFICATION2]
|
|
67571
|
+
},
|
|
67572
|
+
mergeStrategy: "replace"
|
|
67573
|
+
},
|
|
67574
|
+
{
|
|
67575
|
+
key: "textAlignment",
|
|
67576
|
+
channel: "paragraph",
|
|
67577
|
+
schema: {
|
|
67578
|
+
kind: "enum",
|
|
67579
|
+
values: [...ST_TEXT_ALIGNMENT2]
|
|
67580
|
+
},
|
|
67581
|
+
mergeStrategy: "replace"
|
|
67582
|
+
},
|
|
67583
|
+
{
|
|
67584
|
+
key: "textDirection",
|
|
67585
|
+
channel: "paragraph",
|
|
67586
|
+
schema: {
|
|
67587
|
+
kind: "enum",
|
|
67588
|
+
values: [...ST_TEXT_DIRECTION2]
|
|
67589
|
+
},
|
|
67590
|
+
mergeStrategy: "replace"
|
|
67591
|
+
},
|
|
67592
|
+
{
|
|
67593
|
+
key: "textboxTightWrap",
|
|
67594
|
+
channel: "paragraph",
|
|
67595
|
+
schema: {
|
|
67596
|
+
kind: "enum",
|
|
67597
|
+
values: [...ST_TEXTBOX_TIGHT_WRAP2]
|
|
67598
|
+
},
|
|
67599
|
+
mergeStrategy: "replace"
|
|
67600
|
+
},
|
|
67601
|
+
{
|
|
67602
|
+
key: "spacing",
|
|
67603
|
+
channel: "paragraph",
|
|
67604
|
+
schema: SPACING_SCHEMA2,
|
|
67605
|
+
mergeStrategy: "shallowMerge"
|
|
67606
|
+
},
|
|
67607
|
+
{
|
|
67608
|
+
key: "indent",
|
|
67609
|
+
channel: "paragraph",
|
|
67610
|
+
schema: INDENT_SCHEMA2,
|
|
67611
|
+
mergeStrategy: "shallowMerge"
|
|
67612
|
+
},
|
|
67613
|
+
{
|
|
67614
|
+
key: "shading",
|
|
67615
|
+
channel: "paragraph",
|
|
67616
|
+
schema: SHADING_SCHEMA2,
|
|
67617
|
+
mergeStrategy: "shallowMerge"
|
|
67618
|
+
},
|
|
67619
|
+
{
|
|
67620
|
+
key: "numberingProperties",
|
|
67621
|
+
channel: "paragraph",
|
|
67622
|
+
schema: NUMBERING_PROPERTIES_SCHEMA2,
|
|
67623
|
+
mergeStrategy: "shallowMerge"
|
|
67624
|
+
},
|
|
67625
|
+
{
|
|
67626
|
+
key: "framePr",
|
|
67627
|
+
channel: "paragraph",
|
|
67628
|
+
schema: FRAME_PR_SCHEMA2,
|
|
67629
|
+
mergeStrategy: "shallowMerge"
|
|
67630
|
+
},
|
|
67631
|
+
{
|
|
67632
|
+
key: "borders",
|
|
67633
|
+
channel: "paragraph",
|
|
67634
|
+
schema: PARAGRAPH_BORDERS_SCHEMA2,
|
|
67635
|
+
mergeStrategy: "edgeMerge"
|
|
67636
|
+
},
|
|
67637
|
+
{
|
|
67638
|
+
key: "tabStops",
|
|
67639
|
+
channel: "paragraph",
|
|
67640
|
+
schema: TAB_STOP_SCHEMA2,
|
|
67641
|
+
mergeStrategy: "replace"
|
|
67642
|
+
}
|
|
67643
|
+
];
|
|
67644
|
+
ALLOWED_KEYS_BY_CHANNEL2 = {
|
|
67645
|
+
run: new Set(PROPERTY_REGISTRY3.filter((d) => d.channel === "run").map((d) => d.key)),
|
|
67646
|
+
paragraph: new Set(PROPERTY_REGISTRY3.filter((d) => d.channel === "paragraph").map((d) => d.key))
|
|
67647
|
+
};
|
|
67648
|
+
PROPERTY_INDEX2 = new Map(PROPERTY_REGISTRY3.map((d) => [`${d.channel}:${d.key}`, d]));
|
|
67649
|
+
EXCLUDED_KEYS2 = {
|
|
67650
|
+
run: new Map([
|
|
67651
|
+
["cs", "w:cs"],
|
|
67652
|
+
["highlight", "w:highlight"],
|
|
67653
|
+
["oMath", "w:oMath"],
|
|
67654
|
+
["rPrChange", "w:rPrChange"],
|
|
67655
|
+
["rStyle", "w:rStyle"],
|
|
67656
|
+
["rtl", "w:rtl"]
|
|
67657
|
+
]),
|
|
67658
|
+
paragraph: new Map([
|
|
67659
|
+
["cnfStyle", "w:cnfStyle"],
|
|
67660
|
+
["divId", "w:divId"],
|
|
67661
|
+
["pPrChange", "w:pPrChange"],
|
|
67662
|
+
["pStyle", "w:pStyle"],
|
|
67663
|
+
["runProperties", "w:pPr/w:rPr"],
|
|
67664
|
+
["sectPr", "w:sectPr"]
|
|
67665
|
+
])
|
|
67666
|
+
};
|
|
67667
|
+
INPUT_ALLOWED_KEYS2 = new Set(["target", "patch"]);
|
|
67668
|
+
TARGET_ALLOWED_KEYS2 = new Set(["scope", "channel"]);
|
|
67669
|
+
OPTIONS_ALLOWED_KEYS2 = new Set(["dryRun", "expectedRevision"]);
|
|
67670
|
+
VALID_CHANNELS2 = new Set(["run", "paragraph"]);
|
|
66629
67671
|
nodeTypeValues2 = NODE_TYPES2;
|
|
66630
67672
|
blockNodeTypeValues2 = BLOCK_NODE_TYPES2;
|
|
66631
67673
|
deletableBlockNodeTypeValues2 = DELETABLE_BLOCK_NODE_TYPES2;
|
|
@@ -67747,101 +68789,19 @@ var init_SuperConverter_CDs2fwu4_es = __esm(() => {
|
|
|
67747
68789
|
minLength: 1
|
|
67748
68790
|
}
|
|
67749
68791
|
}, ["target"]) }, paragraphMutationResultSchemaFor2("format.paragraph.setShading"), paragraphMutationFailureSchemaFor2("format.paragraph.setShading"), objectSchema2({ target: paragraphTargetSchema2 }, ["target"]), paragraphMutationResultSchemaFor2("format.paragraph.clearShading"), paragraphMutationFailureSchemaFor2("format.paragraph.clearShading"), (() => {
|
|
67750
|
-
const fontFamilySchema = {
|
|
67751
|
-
...objectSchema2({
|
|
67752
|
-
hint: { type: "string" },
|
|
67753
|
-
ascii: { type: "string" },
|
|
67754
|
-
hAnsi: { type: "string" },
|
|
67755
|
-
eastAsia: { type: "string" },
|
|
67756
|
-
cs: { type: "string" },
|
|
67757
|
-
val: { type: "string" },
|
|
67758
|
-
asciiTheme: { type: "string" },
|
|
67759
|
-
hAnsiTheme: { type: "string" },
|
|
67760
|
-
eastAsiaTheme: { type: "string" },
|
|
67761
|
-
cstheme: { type: "string" }
|
|
67762
|
-
}, []),
|
|
67763
|
-
minProperties: 1
|
|
67764
|
-
};
|
|
67765
|
-
const colorSchema = {
|
|
67766
|
-
...objectSchema2({
|
|
67767
|
-
val: { type: "string" },
|
|
67768
|
-
themeColor: { type: "string" },
|
|
67769
|
-
themeTint: { type: "string" },
|
|
67770
|
-
themeShade: { type: "string" }
|
|
67771
|
-
}, []),
|
|
67772
|
-
minProperties: 1
|
|
67773
|
-
};
|
|
67774
|
-
const spacingSchema = {
|
|
67775
|
-
...objectSchema2({
|
|
67776
|
-
after: { type: "integer" },
|
|
67777
|
-
afterAutospacing: { type: "boolean" },
|
|
67778
|
-
afterLines: { type: "integer" },
|
|
67779
|
-
before: { type: "integer" },
|
|
67780
|
-
beforeAutospacing: { type: "boolean" },
|
|
67781
|
-
beforeLines: { type: "integer" },
|
|
67782
|
-
line: { type: "integer" },
|
|
67783
|
-
lineRule: { enum: [
|
|
67784
|
-
"auto",
|
|
67785
|
-
"exact",
|
|
67786
|
-
"atLeast"
|
|
67787
|
-
] }
|
|
67788
|
-
}, []),
|
|
67789
|
-
minProperties: 1
|
|
67790
|
-
};
|
|
67791
|
-
const indentSchema = {
|
|
67792
|
-
...objectSchema2({
|
|
67793
|
-
end: { type: "integer" },
|
|
67794
|
-
endChars: { type: "integer" },
|
|
67795
|
-
firstLine: { type: "integer" },
|
|
67796
|
-
firstLineChars: { type: "integer" },
|
|
67797
|
-
hanging: { type: "integer" },
|
|
67798
|
-
hangingChars: { type: "integer" },
|
|
67799
|
-
left: { type: "integer" },
|
|
67800
|
-
leftChars: { type: "integer" },
|
|
67801
|
-
right: { type: "integer" },
|
|
67802
|
-
rightChars: { type: "integer" },
|
|
67803
|
-
start: { type: "integer" },
|
|
67804
|
-
startChars: { type: "integer" }
|
|
67805
|
-
}, []),
|
|
67806
|
-
minProperties: 1
|
|
67807
|
-
};
|
|
67808
68792
|
const runInputSchema = objectSchema2({
|
|
67809
68793
|
target: objectSchema2({
|
|
67810
68794
|
scope: { const: "docDefaults" },
|
|
67811
68795
|
channel: { const: "run" }
|
|
67812
68796
|
}, ["scope", "channel"]),
|
|
67813
|
-
patch:
|
|
67814
|
-
...objectSchema2({
|
|
67815
|
-
bold: { type: "boolean" },
|
|
67816
|
-
italic: { type: "boolean" },
|
|
67817
|
-
fontSize: { type: "integer" },
|
|
67818
|
-
fontSizeCs: { type: "integer" },
|
|
67819
|
-
letterSpacing: { type: "integer" },
|
|
67820
|
-
fontFamily: fontFamilySchema,
|
|
67821
|
-
color: colorSchema
|
|
67822
|
-
}, []),
|
|
67823
|
-
minProperties: 1
|
|
67824
|
-
}
|
|
68797
|
+
patch: buildPatchSchema2("run")
|
|
67825
68798
|
}, ["target", "patch"]);
|
|
67826
68799
|
const paragraphInputSchema = objectSchema2({
|
|
67827
68800
|
target: objectSchema2({
|
|
67828
68801
|
scope: { const: "docDefaults" },
|
|
67829
68802
|
channel: { const: "paragraph" }
|
|
67830
68803
|
}, ["scope", "channel"]),
|
|
67831
|
-
patch:
|
|
67832
|
-
...objectSchema2({
|
|
67833
|
-
justification: { enum: [
|
|
67834
|
-
"left",
|
|
67835
|
-
"center",
|
|
67836
|
-
"right",
|
|
67837
|
-
"justify",
|
|
67838
|
-
"distribute"
|
|
67839
|
-
] },
|
|
67840
|
-
spacing: spacingSchema,
|
|
67841
|
-
indent: indentSchema
|
|
67842
|
-
}, []),
|
|
67843
|
-
minProperties: 1
|
|
67844
|
-
}
|
|
68804
|
+
patch: buildPatchSchema2("paragraph")
|
|
67845
68805
|
}, ["target", "patch"]);
|
|
67846
68806
|
const stylesTargetResolutionSchema = objectSchema2({
|
|
67847
68807
|
scope: { const: "docDefaults" },
|
|
@@ -67854,30 +68814,7 @@ var init_SuperConverter_CDs2fwu4_es = __esm(() => {
|
|
|
67854
68814
|
"xmlPart",
|
|
67855
68815
|
"xmlPath"
|
|
67856
68816
|
]);
|
|
67857
|
-
const
|
|
67858
|
-
"on",
|
|
67859
|
-
"off",
|
|
67860
|
-
"inherit"
|
|
67861
|
-
] };
|
|
67862
|
-
const numberOrInheritSchema = { oneOf: [{ type: "number" }, { const: "inherit" }] };
|
|
67863
|
-
const stringOrInheritSchema = { oneOf: [{ type: "string" }, { const: "inherit" }] };
|
|
67864
|
-
const objectOrInheritSchema = { oneOf: [{ type: "object" }, { const: "inherit" }] };
|
|
67865
|
-
const stylesStateSchema = {
|
|
67866
|
-
type: "object",
|
|
67867
|
-
properties: {
|
|
67868
|
-
bold: booleanStateSchema,
|
|
67869
|
-
italic: booleanStateSchema,
|
|
67870
|
-
fontSize: numberOrInheritSchema,
|
|
67871
|
-
fontSizeCs: numberOrInheritSchema,
|
|
67872
|
-
letterSpacing: numberOrInheritSchema,
|
|
67873
|
-
fontFamily: objectOrInheritSchema,
|
|
67874
|
-
color: objectOrInheritSchema,
|
|
67875
|
-
justification: stringOrInheritSchema,
|
|
67876
|
-
spacing: objectOrInheritSchema,
|
|
67877
|
-
indent: objectOrInheritSchema
|
|
67878
|
-
},
|
|
67879
|
-
additionalProperties: false
|
|
67880
|
-
};
|
|
68817
|
+
const stylesStateSchema = buildStateSchema2();
|
|
67881
68818
|
const stylesSuccessSchema = objectSchema2({
|
|
67882
68819
|
success: { const: true },
|
|
67883
68820
|
changed: { type: "boolean" },
|
|
@@ -69162,36 +70099,6 @@ var init_SuperConverter_CDs2fwu4_es = __esm(() => {
|
|
|
69162
70099
|
"STYLES_PART_MISSING",
|
|
69163
70100
|
"COLLABORATION_ACTIVE"
|
|
69164
70101
|
];
|
|
69165
|
-
ST_ON_OFF_ON_VALUES2 = new Set([
|
|
69166
|
-
"true",
|
|
69167
|
-
"1",
|
|
69168
|
-
"on"
|
|
69169
|
-
]);
|
|
69170
|
-
ST_ON_OFF_OFF_VALUES2 = new Set([
|
|
69171
|
-
"false",
|
|
69172
|
-
"0",
|
|
69173
|
-
"off"
|
|
69174
|
-
]);
|
|
69175
|
-
ST_UNDERLINE_VALUE_SET2 = new Set([
|
|
69176
|
-
"single",
|
|
69177
|
-
"double",
|
|
69178
|
-
"thick",
|
|
69179
|
-
"dotted",
|
|
69180
|
-
"dottedHeavy",
|
|
69181
|
-
"dash",
|
|
69182
|
-
"dashedHeavy",
|
|
69183
|
-
"dashLong",
|
|
69184
|
-
"dashLongHeavy",
|
|
69185
|
-
"dotDash",
|
|
69186
|
-
"dashDotHeavy",
|
|
69187
|
-
"dotDotDash",
|
|
69188
|
-
"dashDotDotHeavy",
|
|
69189
|
-
"wave",
|
|
69190
|
-
"wavyHeavy",
|
|
69191
|
-
"wavyDouble",
|
|
69192
|
-
"words",
|
|
69193
|
-
"none"
|
|
69194
|
-
]);
|
|
69195
70102
|
CREATE_COMMENT_ALLOWED_KEYS2 = new Set([
|
|
69196
70103
|
"target",
|
|
69197
70104
|
"text",
|
|
@@ -69206,115 +70113,6 @@ var init_SuperConverter_CDs2fwu4_es = __esm(() => {
|
|
|
69206
70113
|
]);
|
|
69207
70114
|
STYLE_APPLY_INPUT_ALLOWED_KEYS2 = new Set(["target", "inline"]);
|
|
69208
70115
|
INLINE_ALIAS_INPUT_ALLOWED_KEYS2 = new Set(["target", "value"]);
|
|
69209
|
-
PROPERTY_REGISTRY2 = [
|
|
69210
|
-
{
|
|
69211
|
-
key: "bold",
|
|
69212
|
-
channel: "run",
|
|
69213
|
-
type: "boolean"
|
|
69214
|
-
},
|
|
69215
|
-
{
|
|
69216
|
-
key: "italic",
|
|
69217
|
-
channel: "run",
|
|
69218
|
-
type: "boolean"
|
|
69219
|
-
},
|
|
69220
|
-
{
|
|
69221
|
-
key: "fontSize",
|
|
69222
|
-
channel: "run",
|
|
69223
|
-
type: "integer"
|
|
69224
|
-
},
|
|
69225
|
-
{
|
|
69226
|
-
key: "fontSizeCs",
|
|
69227
|
-
channel: "run",
|
|
69228
|
-
type: "integer"
|
|
69229
|
-
},
|
|
69230
|
-
{
|
|
69231
|
-
key: "letterSpacing",
|
|
69232
|
-
channel: "run",
|
|
69233
|
-
type: "integer"
|
|
69234
|
-
},
|
|
69235
|
-
{
|
|
69236
|
-
key: "fontFamily",
|
|
69237
|
-
channel: "run",
|
|
69238
|
-
type: "object",
|
|
69239
|
-
schema: {
|
|
69240
|
-
hint: "string",
|
|
69241
|
-
ascii: "string",
|
|
69242
|
-
hAnsi: "string",
|
|
69243
|
-
eastAsia: "string",
|
|
69244
|
-
cs: "string",
|
|
69245
|
-
val: "string",
|
|
69246
|
-
asciiTheme: "string",
|
|
69247
|
-
hAnsiTheme: "string",
|
|
69248
|
-
eastAsiaTheme: "string",
|
|
69249
|
-
cstheme: "string"
|
|
69250
|
-
}
|
|
69251
|
-
},
|
|
69252
|
-
{
|
|
69253
|
-
key: "color",
|
|
69254
|
-
channel: "run",
|
|
69255
|
-
type: "object",
|
|
69256
|
-
schema: {
|
|
69257
|
-
val: "string",
|
|
69258
|
-
themeColor: "string",
|
|
69259
|
-
themeTint: "string",
|
|
69260
|
-
themeShade: "string"
|
|
69261
|
-
}
|
|
69262
|
-
},
|
|
69263
|
-
{
|
|
69264
|
-
key: "justification",
|
|
69265
|
-
channel: "paragraph",
|
|
69266
|
-
type: "enum",
|
|
69267
|
-
values: [
|
|
69268
|
-
"left",
|
|
69269
|
-
"center",
|
|
69270
|
-
"right",
|
|
69271
|
-
"justify",
|
|
69272
|
-
"distribute"
|
|
69273
|
-
]
|
|
69274
|
-
},
|
|
69275
|
-
{
|
|
69276
|
-
key: "spacing",
|
|
69277
|
-
channel: "paragraph",
|
|
69278
|
-
type: "object",
|
|
69279
|
-
schema: {
|
|
69280
|
-
after: "integer",
|
|
69281
|
-
afterAutospacing: "boolean",
|
|
69282
|
-
afterLines: "integer",
|
|
69283
|
-
before: "integer",
|
|
69284
|
-
beforeAutospacing: "boolean",
|
|
69285
|
-
beforeLines: "integer",
|
|
69286
|
-
line: "integer",
|
|
69287
|
-
lineRule: "enum:auto,exact,atLeast"
|
|
69288
|
-
}
|
|
69289
|
-
},
|
|
69290
|
-
{
|
|
69291
|
-
key: "indent",
|
|
69292
|
-
channel: "paragraph",
|
|
69293
|
-
type: "object",
|
|
69294
|
-
schema: {
|
|
69295
|
-
end: "integer",
|
|
69296
|
-
endChars: "integer",
|
|
69297
|
-
firstLine: "integer",
|
|
69298
|
-
firstLineChars: "integer",
|
|
69299
|
-
hanging: "integer",
|
|
69300
|
-
hangingChars: "integer",
|
|
69301
|
-
left: "integer",
|
|
69302
|
-
leftChars: "integer",
|
|
69303
|
-
right: "integer",
|
|
69304
|
-
rightChars: "integer",
|
|
69305
|
-
start: "integer",
|
|
69306
|
-
startChars: "integer"
|
|
69307
|
-
}
|
|
69308
|
-
}
|
|
69309
|
-
];
|
|
69310
|
-
ALLOWED_KEYS_BY_CHANNEL2 = {
|
|
69311
|
-
run: new Set(PROPERTY_REGISTRY2.filter((d) => d.channel === "run").map((d) => d.key)),
|
|
69312
|
-
paragraph: new Set(PROPERTY_REGISTRY2.filter((d) => d.channel === "paragraph").map((d) => d.key))
|
|
69313
|
-
};
|
|
69314
|
-
STYLES_APPLY_INPUT_ALLOWED_KEYS2 = new Set(["target", "patch"]);
|
|
69315
|
-
STYLES_APPLY_TARGET_ALLOWED_KEYS2 = new Set(["scope", "channel"]);
|
|
69316
|
-
STYLES_APPLY_OPTIONS_ALLOWED_KEYS2 = new Set(["dryRun", "expectedRevision"]);
|
|
69317
|
-
VALID_CHANNELS2 = new Set(["run", "paragraph"]);
|
|
69318
70116
|
DELETE_INPUT_ALLOWED_KEYS2 = new Set(["target"]);
|
|
69319
70117
|
INSERT_INPUT_ALLOWED_KEYS2 = new Set([
|
|
69320
70118
|
"value",
|
|
@@ -106517,9 +107315,9 @@ var init_remark_gfm_CjV8kaUy_es = __esm(() => {
|
|
|
106517
107315
|
init_remark_gfm_z_sDF4ss_es();
|
|
106518
107316
|
});
|
|
106519
107317
|
|
|
106520
|
-
// ../../packages/superdoc/dist/chunks/src-
|
|
106521
|
-
var
|
|
106522
|
-
__export(
|
|
107318
|
+
// ../../packages/superdoc/dist/chunks/src-BdKG1LCw.es.js
|
|
107319
|
+
var exports_src_BdKG1LCw_es = {};
|
|
107320
|
+
__export(exports_src_BdKG1LCw_es, {
|
|
106523
107321
|
zt: () => defineMark,
|
|
106524
107322
|
z: () => cM,
|
|
106525
107323
|
yt: () => removeAwarenessStates,
|
|
@@ -116865,7 +117663,7 @@ function isRecord4(value) {
|
|
|
116865
117663
|
function isDeepEqual(left$1, right$1) {
|
|
116866
117664
|
return JSON.stringify(left$1) === JSON.stringify(right$1);
|
|
116867
117665
|
}
|
|
116868
|
-
function normalizeHexColor$
|
|
117666
|
+
function normalizeHexColor$2(color2) {
|
|
116869
117667
|
const trimmed = color2.trim();
|
|
116870
117668
|
if (trimmed.startsWith("#"))
|
|
116871
117669
|
return trimmed;
|
|
@@ -116937,7 +117735,7 @@ function mergeTextStyleAttrs(currentAttrs, patch3) {
|
|
|
116937
117735
|
continue;
|
|
116938
117736
|
}
|
|
116939
117737
|
if (key$1 === "color" && typeof value === "string") {
|
|
116940
|
-
next2.color = normalizeHexColor$
|
|
117738
|
+
next2.color = normalizeHexColor$2(value);
|
|
116941
117739
|
continue;
|
|
116942
117740
|
}
|
|
116943
117741
|
if ((key$1 === "fontSize" || key$1 === "letterSpacing" || key$1 === "position") && typeof value === "number") {
|
|
@@ -116995,7 +117793,7 @@ function mergeUnderlineAttrs(currentAttrs, patchValue) {
|
|
|
116995
117793
|
if (patch3.color === null)
|
|
116996
117794
|
delete next2.underlineColor;
|
|
116997
117795
|
else
|
|
116998
|
-
next2.underlineColor = normalizeHexColor$
|
|
117796
|
+
next2.underlineColor = normalizeHexColor$2(patch3.color);
|
|
116999
117797
|
if (patch3.themeColor !== undefined)
|
|
117000
117798
|
if (patch3.themeColor === null)
|
|
117001
117799
|
delete next2.underlineThemeColor;
|
|
@@ -119123,67 +119921,148 @@ function syncDocDefaultsToConvertedXml(converter, docDefaultsTranslator) {
|
|
|
119123
119921
|
else if (existingIndex >= 0)
|
|
119124
119922
|
stylesRoot.elements.splice(existingIndex, 1);
|
|
119125
119923
|
}
|
|
119126
|
-
function
|
|
119127
|
-
|
|
119128
|
-
|
|
119129
|
-
|
|
119130
|
-
|
|
119131
|
-
|
|
119132
|
-
|
|
119133
|
-
|
|
119924
|
+
function mapUnderlineToStorage(apiObj) {
|
|
119925
|
+
const result = {};
|
|
119926
|
+
for (const [k$1, v] of Object.entries(apiObj))
|
|
119927
|
+
result[UNDERLINE_API_TO_STORAGE[k$1] ?? k$1] = v;
|
|
119928
|
+
return result;
|
|
119929
|
+
}
|
|
119930
|
+
function mapUnderlineToApi(storageObj) {
|
|
119931
|
+
const result = {};
|
|
119932
|
+
for (const [k$1, v] of Object.entries(storageObj))
|
|
119933
|
+
result[UNDERLINE_STORAGE_TO_API[k$1] ?? k$1] = v;
|
|
119934
|
+
return result;
|
|
119935
|
+
}
|
|
119936
|
+
function normalizeHexColor$1(val) {
|
|
119937
|
+
return val.replace(/^#/, "").toUpperCase();
|
|
119134
119938
|
}
|
|
119135
|
-
function
|
|
119136
|
-
const
|
|
119137
|
-
if (
|
|
119939
|
+
function normalizeObjectSubKeys(obj, key$1) {
|
|
119940
|
+
const hexKeys = HEX_SUBKEYS_BY_PROPERTY[key$1];
|
|
119941
|
+
if (!hexKeys)
|
|
119942
|
+
return obj;
|
|
119943
|
+
const result = {};
|
|
119944
|
+
for (const [k$1, v] of Object.entries(obj))
|
|
119945
|
+
if (typeof v === "string" && hexKeys.has(k$1))
|
|
119946
|
+
result[k$1] = normalizeHexColor$1(v);
|
|
119947
|
+
else
|
|
119948
|
+
result[k$1] = v;
|
|
119949
|
+
return result;
|
|
119950
|
+
}
|
|
119951
|
+
function jsonDeepEqual(a2, b$1) {
|
|
119952
|
+
if (a2 === b$1)
|
|
119953
|
+
return true;
|
|
119954
|
+
if (a2 === null || b$1 === null)
|
|
119138
119955
|
return false;
|
|
119139
|
-
|
|
119140
|
-
|
|
119141
|
-
|
|
119142
|
-
if (
|
|
119143
|
-
|
|
119144
|
-
|
|
119145
|
-
|
|
119146
|
-
|
|
119147
|
-
|
|
119956
|
+
if (typeof a2 !== typeof b$1)
|
|
119957
|
+
return false;
|
|
119958
|
+
if (Array.isArray(a2)) {
|
|
119959
|
+
if (!Array.isArray(b$1) || a2.length !== b$1.length)
|
|
119960
|
+
return false;
|
|
119961
|
+
for (let i$1 = 0;i$1 < a2.length; i$1++)
|
|
119962
|
+
if (!jsonDeepEqual(a2[i$1], b$1[i$1]))
|
|
119963
|
+
return false;
|
|
119964
|
+
return true;
|
|
119965
|
+
}
|
|
119966
|
+
if (typeof a2 === "object") {
|
|
119967
|
+
const aObj = a2;
|
|
119968
|
+
const bObj = b$1;
|
|
119969
|
+
const aKeys = Object.keys(aObj);
|
|
119970
|
+
const bKeys = Object.keys(bObj);
|
|
119971
|
+
if (aKeys.length !== bKeys.length)
|
|
119972
|
+
return false;
|
|
119973
|
+
for (const key$1 of aKeys) {
|
|
119974
|
+
if (!Object.prototype.hasOwnProperty.call(bObj, key$1))
|
|
119975
|
+
return false;
|
|
119976
|
+
if (!jsonDeepEqual(aObj[key$1], bObj[key$1]))
|
|
119148
119977
|
return false;
|
|
119149
|
-
for (const k$1 of aKeys)
|
|
119150
|
-
if (av[k$1] !== bv[k$1])
|
|
119151
|
-
return false;
|
|
119152
|
-
continue;
|
|
119153
119978
|
}
|
|
119154
|
-
return
|
|
119979
|
+
return true;
|
|
119980
|
+
}
|
|
119981
|
+
return false;
|
|
119982
|
+
}
|
|
119983
|
+
function formatState(value, schema, key$1) {
|
|
119984
|
+
if (value === undefined)
|
|
119985
|
+
return "inherit";
|
|
119986
|
+
switch (schema.kind) {
|
|
119987
|
+
case "boolean":
|
|
119988
|
+
return value ? "on" : "off";
|
|
119989
|
+
case "object":
|
|
119990
|
+
if (typeof value === "object" && value !== null) {
|
|
119991
|
+
const obj = { ...value };
|
|
119992
|
+
return key$1 === "underline" ? mapUnderlineToApi(obj) : obj;
|
|
119993
|
+
}
|
|
119994
|
+
return value;
|
|
119995
|
+
case "array":
|
|
119996
|
+
return Array.isArray(value) ? [...value.map((item) => structuredClone(item))] : value;
|
|
119997
|
+
default:
|
|
119998
|
+
return value;
|
|
119155
119999
|
}
|
|
119156
|
-
return true;
|
|
119157
120000
|
}
|
|
119158
|
-
function
|
|
119159
|
-
|
|
119160
|
-
|
|
119161
|
-
|
|
119162
|
-
|
|
120001
|
+
function asRecord$1(value) {
|
|
120002
|
+
return typeof value === "object" && value !== null ? value : {};
|
|
120003
|
+
}
|
|
120004
|
+
function cloneForStorage(value) {
|
|
120005
|
+
if (value === null || typeof value !== "object")
|
|
120006
|
+
return value;
|
|
120007
|
+
return structuredClone(value);
|
|
120008
|
+
}
|
|
120009
|
+
function applyReplace(targetProps, key$1, value) {
|
|
120010
|
+
targetProps[key$1] = cloneForStorage(value);
|
|
120011
|
+
}
|
|
120012
|
+
function applyShallowMerge(targetProps, key$1, value) {
|
|
120013
|
+
const current = asRecord$1(targetProps[key$1]);
|
|
120014
|
+
const patch3 = value;
|
|
120015
|
+
if (key$1 === "underline") {
|
|
120016
|
+
const storagePatch = cloneForStorage(mapUnderlineToStorage(normalizeObjectSubKeys(patch3, key$1)));
|
|
120017
|
+
targetProps[key$1] = {
|
|
120018
|
+
...current,
|
|
120019
|
+
...storagePatch
|
|
120020
|
+
};
|
|
120021
|
+
return;
|
|
120022
|
+
}
|
|
120023
|
+
targetProps[key$1] = {
|
|
120024
|
+
...current,
|
|
120025
|
+
...cloneForStorage(normalizeObjectSubKeys(patch3, key$1))
|
|
120026
|
+
};
|
|
120027
|
+
}
|
|
120028
|
+
function applyEdgeMerge(targetProps, key$1, value) {
|
|
120029
|
+
const current = asRecord$1(targetProps[key$1]);
|
|
120030
|
+
const patch3 = value;
|
|
120031
|
+
const result = { ...current };
|
|
120032
|
+
for (const [edge, edgeValue] of Object.entries(patch3))
|
|
120033
|
+
result[edge] = {
|
|
120034
|
+
...asRecord$1(result[edge]),
|
|
120035
|
+
...cloneForStorage(normalizeObjectSubKeys(edgeValue, key$1))
|
|
120036
|
+
};
|
|
120037
|
+
targetProps[key$1] = result;
|
|
119163
120038
|
}
|
|
119164
120039
|
function applyPatch2(targetProps, patch3, channel) {
|
|
119165
120040
|
const before = {};
|
|
119166
120041
|
const after = {};
|
|
119167
|
-
|
|
119168
|
-
|
|
119169
|
-
|
|
119170
|
-
|
|
119171
|
-
|
|
119172
|
-
|
|
119173
|
-
|
|
119174
|
-
|
|
119175
|
-
|
|
119176
|
-
|
|
119177
|
-
|
|
119178
|
-
|
|
119179
|
-
|
|
119180
|
-
|
|
120042
|
+
const patchKeys = new Set(Object.keys(patch3));
|
|
120043
|
+
for (const def2 of PROPERTY_REGISTRY3) {
|
|
120044
|
+
if (def2.channel !== channel || !patchKeys.has(def2.key))
|
|
120045
|
+
continue;
|
|
120046
|
+
const key$1 = def2.key;
|
|
120047
|
+
const value = patch3[key$1];
|
|
120048
|
+
before[key$1] = formatState(targetProps[key$1], def2.schema, key$1);
|
|
120049
|
+
switch (def2.mergeStrategy) {
|
|
120050
|
+
case "replace":
|
|
120051
|
+
applyReplace(targetProps, key$1, value);
|
|
120052
|
+
break;
|
|
120053
|
+
case "shallowMerge":
|
|
120054
|
+
applyShallowMerge(targetProps, key$1, value);
|
|
120055
|
+
break;
|
|
120056
|
+
case "edgeMerge":
|
|
120057
|
+
applyEdgeMerge(targetProps, key$1, value);
|
|
120058
|
+
break;
|
|
119181
120059
|
}
|
|
120060
|
+
after[key$1] = formatState(targetProps[key$1], def2.schema, key$1);
|
|
119182
120061
|
}
|
|
119183
120062
|
return {
|
|
119184
120063
|
before,
|
|
119185
120064
|
after,
|
|
119186
|
-
changed: !
|
|
120065
|
+
changed: !jsonDeepEqual(before, after)
|
|
119187
120066
|
};
|
|
119188
120067
|
}
|
|
119189
120068
|
function stylesApplyAdapter(editor, input2, options) {
|
|
@@ -119202,14 +120081,14 @@ function stylesApplyAdapter(editor, input2, options) {
|
|
|
119202
120081
|
scope: "docDefaults",
|
|
119203
120082
|
channel,
|
|
119204
120083
|
xmlPart: STYLES_PART,
|
|
119205
|
-
xmlPath:
|
|
120084
|
+
xmlPath: XML_PATH_BY_CHANNEL2[channel]
|
|
119206
120085
|
};
|
|
119207
120086
|
return executeOutOfBandMutation(editor, (dryRun) => {
|
|
119208
120087
|
const propsKey = PROPERTIES_KEY_BY_CHANNEL[channel];
|
|
119209
120088
|
const existingProps = converter.translatedLinkedStyles?.docDefaults?.[propsKey];
|
|
119210
120089
|
let targetProps;
|
|
119211
120090
|
if (dryRun)
|
|
119212
|
-
targetProps = existingProps ?
|
|
120091
|
+
targetProps = existingProps ? structuredClone(existingProps) : {};
|
|
119213
120092
|
else {
|
|
119214
120093
|
if (!converter.translatedLinkedStyles)
|
|
119215
120094
|
converter.translatedLinkedStyles = {};
|
|
@@ -152839,8 +153718,7 @@ async function getEditorContext(editor, event) {
|
|
|
152839
153718
|
const state = editor.state;
|
|
152840
153719
|
if (!state)
|
|
152841
153720
|
return null;
|
|
152842
|
-
const { from: from$12
|
|
152843
|
-
const selectedText = !empty$2 ? state.doc.textBetween(from$12, to) : "";
|
|
153721
|
+
const { from: from$12 } = state.selection;
|
|
152844
153722
|
let pos = null;
|
|
152845
153723
|
let node3 = null;
|
|
152846
153724
|
if (event && typeof event.clientX === "number" && typeof event.clientY === "number") {
|
|
@@ -152858,6 +153736,14 @@ async function getEditorContext(editor, event) {
|
|
|
152858
153736
|
pos = from$12;
|
|
152859
153737
|
node3 = state.doc.nodeAt(pos);
|
|
152860
153738
|
}
|
|
153739
|
+
const selection = getContextSelection({
|
|
153740
|
+
editor,
|
|
153741
|
+
state,
|
|
153742
|
+
pos,
|
|
153743
|
+
event
|
|
153744
|
+
});
|
|
153745
|
+
const hasSelection$1 = hasExpandedSelection(selection);
|
|
153746
|
+
const selectedText = hasSelection$1 ? state.doc.textBetween(selection.from, selection.to) : "";
|
|
152861
153747
|
const clipboardContent = {
|
|
152862
153748
|
html: null,
|
|
152863
153749
|
text: null,
|
|
@@ -152893,14 +153779,18 @@ async function getEditorContext(editor, event) {
|
|
|
152893
153779
|
state.selection.$head.marks().forEach((mark2) => activeMarks.push(mark2.type.name));
|
|
152894
153780
|
}
|
|
152895
153781
|
const isTrackedChange = activeMarks.includes("trackInsert") || activeMarks.includes("trackDelete") || activeMarks.includes("trackFormat");
|
|
152896
|
-
const trackedChanges = event && pos !== null ?
|
|
153782
|
+
const trackedChanges = (event && pos !== null ? hasExpandedSelection(selection) && selectionContainsPos(selection, pos) : hasSelection$1) ? collectTrackedChanges({
|
|
153783
|
+
state,
|
|
153784
|
+
from: selection.from,
|
|
153785
|
+
to: selection.to
|
|
153786
|
+
}) : event && pos !== null ? collectTrackedChangesForContext({
|
|
152897
153787
|
state,
|
|
152898
153788
|
pos,
|
|
152899
153789
|
trackedChangeId
|
|
152900
153790
|
}) : collectTrackedChanges({
|
|
152901
153791
|
state,
|
|
152902
|
-
from: from
|
|
152903
|
-
to
|
|
153792
|
+
from: selection.from,
|
|
153793
|
+
to: selection.to
|
|
152904
153794
|
});
|
|
152905
153795
|
const cursorCoords = pos !== null ? editor.coordsAtPos?.(pos) : null;
|
|
152906
153796
|
const cursorPosition = cursorCoords ? {
|
|
@@ -152912,9 +153802,9 @@ async function getEditorContext(editor, event) {
|
|
|
152912
153802
|
} : null;
|
|
152913
153803
|
return {
|
|
152914
153804
|
selectedText,
|
|
152915
|
-
hasSelection:
|
|
152916
|
-
selectionStart: from
|
|
152917
|
-
selectionEnd: to,
|
|
153805
|
+
hasSelection: hasSelection$1,
|
|
153806
|
+
selectionStart: selection.from,
|
|
153807
|
+
selectionEnd: selection.to,
|
|
152918
153808
|
isInTable: isInTable$2,
|
|
152919
153809
|
isInList,
|
|
152920
153810
|
isInSectionNode,
|
|
@@ -152938,6 +153828,20 @@ async function getEditorContext(editor, event) {
|
|
|
152938
153828
|
trackedChanges
|
|
152939
153829
|
};
|
|
152940
153830
|
}
|
|
153831
|
+
function selectionContainsPos(selection, pos) {
|
|
153832
|
+
return hasExpandedSelection(selection) && Number.isFinite(pos) && pos >= selection.from && pos <= selection.to;
|
|
153833
|
+
}
|
|
153834
|
+
function getContextSelection({ editor, state, pos, event }) {
|
|
153835
|
+
const currentSelection = state.selection;
|
|
153836
|
+
const preservedSelection = editor?.options?.preservedSelection ?? editor?.options?.lastSelection;
|
|
153837
|
+
if (hasExpandedSelection(currentSelection))
|
|
153838
|
+
return currentSelection;
|
|
153839
|
+
if (!hasExpandedSelection(preservedSelection))
|
|
153840
|
+
return currentSelection;
|
|
153841
|
+
if (event)
|
|
153842
|
+
return selectionContainsPos(preservedSelection, pos) ? preservedSelection : currentSelection;
|
|
153843
|
+
return preservedSelection;
|
|
153844
|
+
}
|
|
152941
153845
|
function computeCanUndo(editor, state) {
|
|
152942
153846
|
if (typeof editor?.can === "function")
|
|
152943
153847
|
try {
|
|
@@ -153113,10 +154017,11 @@ function getItems(context, customItems = [], includeDefaultItems = true) {
|
|
|
153113
154017
|
label: TEXTS.trackChangesAccept,
|
|
153114
154018
|
isDefault: true,
|
|
153115
154019
|
action: (editor$1, context$1) => {
|
|
153116
|
-
|
|
153117
|
-
|
|
153118
|
-
|
|
153119
|
-
|
|
154020
|
+
editor$1.commands.acceptTrackedChangeFromContextMenu({
|
|
154021
|
+
from: context$1?.selectionStart,
|
|
154022
|
+
to: context$1?.selectionEnd,
|
|
154023
|
+
trackedChangeId: context$1?.trackedChangeId
|
|
154024
|
+
});
|
|
153120
154025
|
},
|
|
153121
154026
|
showWhen: (context$1) => {
|
|
153122
154027
|
const { trigger: trigger$1, isTrackedChange } = context$1;
|
|
@@ -153128,10 +154033,11 @@ function getItems(context, customItems = [], includeDefaultItems = true) {
|
|
|
153128
154033
|
icon: ICONS.trackChangesReject,
|
|
153129
154034
|
isDefault: true,
|
|
153130
154035
|
action: (editor$1, context$1) => {
|
|
153131
|
-
|
|
153132
|
-
|
|
153133
|
-
|
|
153134
|
-
|
|
154036
|
+
editor$1.commands.rejectTrackedChangeFromContextMenu({
|
|
154037
|
+
from: context$1?.selectionStart,
|
|
154038
|
+
to: context$1?.selectionEnd,
|
|
154039
|
+
trackedChangeId: context$1?.trackedChangeId
|
|
154040
|
+
});
|
|
153135
154041
|
},
|
|
153136
154042
|
showWhen: (context$1) => {
|
|
153137
154043
|
const { trigger: trigger$1, isTrackedChange } = context$1;
|
|
@@ -162545,7 +163451,7 @@ var Node$13 = class Node$14 {
|
|
|
162545
163451
|
console.warn("Failed to initialize developer tools:", error);
|
|
162546
163452
|
}
|
|
162547
163453
|
}
|
|
162548
|
-
}, BLANK_DOCX_DATA_URI = `data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,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`, LINK_MARK_NAME = "link", COMMENT_MARK_NAME, SUPPORTED_INLINE_TYPES, DocumentApiAdapterError, ALIAS_ELIGIBLE_TYPES, cacheByEditor, OBJECT_REPLACEMENT_CHAR = "", TAB_LEADER_TO_SEPARATOR, SEPARATOR_TO_TAB_LEADER, DEFAULT_TOC_CONFIG, SWITCH_PATTERN$1, SNIPPET_PADDING = 30, DUAL_KIND_TYPES, KNOWN_BLOCK_PM_NODE_TYPES, KNOWN_INLINE_PM_NODE_TYPES, MAX_PATTERN_LENGTH = 1024, PlanError, revisionMap, subscribedEditors, HEADING_STYLE_DEPTH, BULLET_FORMATS, MARK_PRIORITY, remarkProcessor, DEFAULT_UNFLATTEN_LISTS = true, everSyncedProviders, REQUIRED_COMMANDS, VALID_CAPABILITY_REASON_CODES, REQUIRED_HELPERS, SUPPORTED_NON_UNIFORM_STRATEGIES, SUPPORTED_SET_MARKS, REGEX_MAX_PATTERN_LENGTH = 1024, registry, TOGGLE_MARK_SPECS, CORE_MARK_NAMES, METADATA_MARK_NAMES, VALID_CREATE_POSITIONS, REF_HANDLERS, STEP_INTERACTION_MATRIX, MATRIX_EXEMPT_OPS, DEFAULT_INLINE_POLICY, CORE_SET_MARK_KEYS, BOOLEAN_INLINE_MARK_KEYS, TEXT_STYLE_KEYS, PRESERVE_RUN_PROPERTIES_META_KEY = "sdPreserveRunPropertiesKeys", STUB_WHERE, FALLBACK_STORE_KEY = "__documentApiComments", STYLES_PART = "word/styles.xml", PROPERTIES_KEY_BY_CHANNEL, XML_PATH_BY_CHANNEL, PARAGRAPH_NODE_TYPES, ALIGNMENT_TO_JUSTIFICATION, DERIVED_ID_LENGTH = 24, groupedCache, SUPPORTED_NODE_TYPES, REJECTED_NODE_TYPES, CSS_NAMED_COLORS, SETTINGS_PART_PATH = "word/settings.xml", POINTS_TO_PIXELS, POINTS_TO_TWIPS = 20, PIXELS_TO_TWIPS, DEFAULT_TABLE_GRID_WIDTH_TWIPS = 1500, TABLE_ADAPTER_DISPATCH, ROW_OPS, TABLE_SCOPED_OPS, registered = false, SectionType, DEFAULT_PARAGRAPH_SECTION_TYPE, DEFAULT_BODY_SECTION_TYPE, TWIPS_PER_INCH$2 = 1440, PX_PER_INCH$2 = 96, DEFAULT_COLUMN_GAP_INCHES = 0.5, DEFAULT_HEADER_FOOTER_MARGIN_PX = 0, LINE_NUMBER_RESTART_VALUES, PAGE_NUMBER_FORMAT_VALUES, SECTION_ORIENTATION_VALUES, SECTION_VERTICAL_ALIGN_VALUES, readSectPrHeaderFooterRefs, PIXELS_PER_INCH$2 = 96, DOCUMENT_RELS_PATH = "word/_rels/document.xml.rels", RELS_XMLNS2 = "http://schemas.openxmlformats.org/package/2006/relationships", HEADER_RELATIONSHIP_TYPE2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", WORDPROCESSINGML_XMLNS = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", OFFICE_DOCUMENT_RELS_XMLNS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships", RELATIONSHIP_ID_PATTERN, HEADER_FILE_PATTERN, FOOTER_FILE_PATTERN, HISTORY_UNSAFE_OPS, DEFAULT_LEVEL = 1, SWITCH_PATTERN, DEFAULT_RIGHT_TAB_POS = 9350, TAB_LEADER_MAP, NO_ENTRIES_PLACEHOLDER, TC_LEVEL_MIN = 1, TC_LEVEL_MAX = 9, empty_exports, init_empty, PIXELS_PER_INCH$1 = 96, MAX_HEIGHT_BUFFER_PX = 50, MAX_WIDTH_BUFFER_PX = 20, Editor, ContextMenuPluginKey, MENU_OFFSET_X = 0, MENU_OFFSET_Y = 28, CONTEXT_MENU_OFFSET_X = 10, CONTEXT_MENU_OFFSET_Y = 10, SLASH_COOLDOWN_MS = 5000, ContextMenu, SearchQuery = class {
|
|
163454
|
+
}, BLANK_DOCX_DATA_URI = `data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,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`, LINK_MARK_NAME = "link", COMMENT_MARK_NAME, SUPPORTED_INLINE_TYPES, DocumentApiAdapterError, ALIAS_ELIGIBLE_TYPES, cacheByEditor, OBJECT_REPLACEMENT_CHAR = "", TAB_LEADER_TO_SEPARATOR, SEPARATOR_TO_TAB_LEADER, DEFAULT_TOC_CONFIG, SWITCH_PATTERN$1, SNIPPET_PADDING = 30, DUAL_KIND_TYPES, KNOWN_BLOCK_PM_NODE_TYPES, KNOWN_INLINE_PM_NODE_TYPES, MAX_PATTERN_LENGTH = 1024, PlanError, revisionMap, subscribedEditors, HEADING_STYLE_DEPTH, BULLET_FORMATS, MARK_PRIORITY, remarkProcessor, DEFAULT_UNFLATTEN_LISTS = true, everSyncedProviders, REQUIRED_COMMANDS, VALID_CAPABILITY_REASON_CODES, REQUIRED_HELPERS, SUPPORTED_NON_UNIFORM_STRATEGIES, SUPPORTED_SET_MARKS, REGEX_MAX_PATTERN_LENGTH = 1024, registry, TOGGLE_MARK_SPECS, CORE_MARK_NAMES, METADATA_MARK_NAMES, VALID_CREATE_POSITIONS, REF_HANDLERS, STEP_INTERACTION_MATRIX, MATRIX_EXEMPT_OPS, DEFAULT_INLINE_POLICY, CORE_SET_MARK_KEYS, BOOLEAN_INLINE_MARK_KEYS, TEXT_STYLE_KEYS, PRESERVE_RUN_PROPERTIES_META_KEY = "sdPreserveRunPropertiesKeys", STUB_WHERE, FALLBACK_STORE_KEY = "__documentApiComments", STYLES_PART = "word/styles.xml", PROPERTIES_KEY_BY_CHANNEL, XML_PATH_BY_CHANNEL2, UNDERLINE_API_TO_STORAGE, UNDERLINE_STORAGE_TO_API, HEX_SUBKEYS_BY_PROPERTY, PARAGRAPH_NODE_TYPES, ALIGNMENT_TO_JUSTIFICATION, DERIVED_ID_LENGTH = 24, groupedCache, SUPPORTED_NODE_TYPES, REJECTED_NODE_TYPES, CSS_NAMED_COLORS, SETTINGS_PART_PATH = "word/settings.xml", POINTS_TO_PIXELS, POINTS_TO_TWIPS = 20, PIXELS_TO_TWIPS, DEFAULT_TABLE_GRID_WIDTH_TWIPS = 1500, TABLE_ADAPTER_DISPATCH, ROW_OPS, TABLE_SCOPED_OPS, registered = false, SectionType, DEFAULT_PARAGRAPH_SECTION_TYPE, DEFAULT_BODY_SECTION_TYPE, TWIPS_PER_INCH$2 = 1440, PX_PER_INCH$2 = 96, DEFAULT_COLUMN_GAP_INCHES = 0.5, DEFAULT_HEADER_FOOTER_MARGIN_PX = 0, LINE_NUMBER_RESTART_VALUES, PAGE_NUMBER_FORMAT_VALUES, SECTION_ORIENTATION_VALUES, SECTION_VERTICAL_ALIGN_VALUES, readSectPrHeaderFooterRefs, PIXELS_PER_INCH$2 = 96, DOCUMENT_RELS_PATH = "word/_rels/document.xml.rels", RELS_XMLNS2 = "http://schemas.openxmlformats.org/package/2006/relationships", HEADER_RELATIONSHIP_TYPE2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", WORDPROCESSINGML_XMLNS = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", OFFICE_DOCUMENT_RELS_XMLNS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships", RELATIONSHIP_ID_PATTERN, HEADER_FILE_PATTERN, FOOTER_FILE_PATTERN, HISTORY_UNSAFE_OPS, DEFAULT_LEVEL = 1, SWITCH_PATTERN, DEFAULT_RIGHT_TAB_POS = 9350, TAB_LEADER_MAP, NO_ENTRIES_PLACEHOLDER, TC_LEVEL_MIN = 1, TC_LEVEL_MAX = 9, empty_exports, init_empty, PIXELS_PER_INCH$1 = 96, MAX_HEIGHT_BUFFER_PX = 50, MAX_WIDTH_BUFFER_PX = 20, Editor, ContextMenuPluginKey, MENU_OFFSET_X = 0, MENU_OFFSET_Y = 28, CONTEXT_MENU_OFFSET_X = 10, CONTEXT_MENU_OFFSET_Y = 10, SLASH_COOLDOWN_MS = 5000, ContextMenu, SearchQuery = class {
|
|
162549
163455
|
constructor(config2) {
|
|
162550
163456
|
this.search = config2.search;
|
|
162551
163457
|
this.caseSensitive = !!config2.caseSensitive;
|
|
@@ -178924,27 +179830,102 @@ var Node$13 = class Node$14 {
|
|
|
178924
179830
|
if (!trackedChangeId)
|
|
178925
179831
|
return changes;
|
|
178926
179832
|
return changes.filter((change) => change.id === trackedChangeId);
|
|
178927
|
-
},
|
|
178928
|
-
|
|
178929
|
-
|
|
178930
|
-
|
|
179833
|
+
}, hasExpandedSelection = (selection) => {
|
|
179834
|
+
return Number.isFinite(selection?.from) && Number.isFinite(selection?.to) && selection.from !== selection.to;
|
|
179835
|
+
}, TrackChanges, TRACKED_CHANGE_MARKS, getTrackedMark = (node3) => node3?.marks?.find((mark2) => TRACKED_CHANGE_MARKS.includes(mark2.type.name)) ?? null, getTrackedChangeActionSelection = ({ state, editor }) => {
|
|
179836
|
+
const currentSelection = state?.selection;
|
|
179837
|
+
if (hasExpandedSelection(currentSelection))
|
|
179838
|
+
return currentSelection;
|
|
179839
|
+
const preservedSelection = editor?.options?.preservedSelection ?? editor?.options?.lastSelection;
|
|
179840
|
+
if (hasExpandedSelection(preservedSelection))
|
|
179841
|
+
return preservedSelection;
|
|
179842
|
+
return currentSelection;
|
|
179843
|
+
}, getTrackedChangeResolutionContext = ({ state, trackedChangeId = null }) => {
|
|
179844
|
+
const commentsPluginState = CommentsPluginKey.getState(state);
|
|
179845
|
+
const resolvedTrackedChangeId = trackedChangeId ?? commentsPluginState?.activeThreadId ?? null;
|
|
179846
|
+
const hasTrackedChangeInCache = Boolean(resolvedTrackedChangeId && commentsPluginState?.trackedChanges?.[resolvedTrackedChangeId]);
|
|
179847
|
+
const hasTrackedChangeInDocument = Boolean(resolvedTrackedChangeId && getChangesByIdToResolve(state, resolvedTrackedChangeId)?.length);
|
|
179848
|
+
return {
|
|
179849
|
+
trackedChangeId: resolvedTrackedChangeId,
|
|
179850
|
+
hasKnownTrackedChangeId: hasTrackedChangeInCache || hasTrackedChangeInDocument
|
|
179851
|
+
};
|
|
179852
|
+
}, selectionTouchesTrackedChange = ({ state, trackedChangeId, selection = state?.selection }) => {
|
|
179853
|
+
if (!selection)
|
|
179854
|
+
return false;
|
|
179855
|
+
if (!trackedChangeId)
|
|
179856
|
+
return collectTrackedChanges({
|
|
179857
|
+
state,
|
|
179858
|
+
from: selection.from,
|
|
179859
|
+
to: selection.to
|
|
179860
|
+
}).length > 0;
|
|
179861
|
+
return collectTrackedChanges({
|
|
179862
|
+
state,
|
|
179863
|
+
from: selection.from,
|
|
179864
|
+
to: selection.to
|
|
179865
|
+
}).some((change) => change.id === trackedChangeId);
|
|
179866
|
+
}, resolveTrackedChangeAction = ({ action, state, commands: commands$1, editor, trackedChangeId = null, hasKnownTrackedChangeId = false, selection = null }) => {
|
|
179867
|
+
const targetSelection = selection ?? getTrackedChangeActionSelection({
|
|
179868
|
+
state,
|
|
179869
|
+
editor
|
|
179870
|
+
});
|
|
179871
|
+
const betweenCommand = action === "accept" ? commands$1.acceptTrackedChangesBetween : commands$1.rejectTrackedChangesBetween;
|
|
179872
|
+
const byIdCommand = action === "accept" ? commands$1.acceptTrackedChangeById : commands$1.rejectTrackedChangeById;
|
|
179873
|
+
const selectionCommand = action === "accept" ? commands$1.acceptTrackedChangeBySelection : commands$1.rejectTrackedChangeOnSelection;
|
|
179874
|
+
if (hasExpandedSelection(targetSelection) && selectionTouchesTrackedChange({
|
|
179875
|
+
state,
|
|
179876
|
+
trackedChangeId,
|
|
179877
|
+
selection: targetSelection
|
|
179878
|
+
}))
|
|
179879
|
+
return betweenCommand(targetSelection.from, targetSelection.to);
|
|
179880
|
+
if (trackedChangeId && hasKnownTrackedChangeId)
|
|
179881
|
+
return byIdCommand(trackedChangeId);
|
|
179882
|
+
return hasExpandedSelection(targetSelection) ? betweenCommand(targetSelection.from, targetSelection.to) : selectionCommand();
|
|
179883
|
+
}, collectRemainingMarksByType = (trackedChanges = []) => ({
|
|
179884
|
+
insertedMark: trackedChanges.find(({ mark: mark2 }) => mark2.type.name === "trackInsert")?.mark ?? null,
|
|
179885
|
+
deletionMark: trackedChanges.find(({ mark: mark2 }) => mark2.type.name === "trackDelete")?.mark ?? null,
|
|
179886
|
+
formatMark: trackedChanges.find(({ mark: mark2 }) => mark2.type.name === "trackFormat")?.mark ?? null
|
|
179887
|
+
}), emitTrackedChangeCommentLifecycle = ({ editor, nextState, touchedChangeIds }) => {
|
|
179888
|
+
if (!editor?.emit || !touchedChangeIds?.size)
|
|
179889
|
+
return;
|
|
179890
|
+
const resolvedByEmail = editor.options?.user?.email;
|
|
179891
|
+
const resolvedByName = editor.options?.user?.name;
|
|
179892
|
+
touchedChangeIds.forEach((changeId) => {
|
|
179893
|
+
const remainingTrackedChanges = getTrackChanges(nextState, changeId);
|
|
179894
|
+
if (!remainingTrackedChanges.length) {
|
|
179895
|
+
editor.emit("commentsUpdate", {
|
|
179896
|
+
type: "trackedChange",
|
|
179897
|
+
event: "resolve",
|
|
179898
|
+
changeId,
|
|
179899
|
+
resolvedByEmail,
|
|
179900
|
+
resolvedByName
|
|
179901
|
+
});
|
|
178931
179902
|
return;
|
|
178932
|
-
|
|
178933
|
-
const
|
|
178934
|
-
|
|
178935
|
-
|
|
178936
|
-
|
|
178937
|
-
|
|
178938
|
-
|
|
178939
|
-
|
|
178940
|
-
|
|
178941
|
-
|
|
178942
|
-
|
|
178943
|
-
|
|
178944
|
-
|
|
178945
|
-
|
|
178946
|
-
|
|
178947
|
-
|
|
179903
|
+
}
|
|
179904
|
+
const updatePayload = createOrUpdateTrackedChangeComment({
|
|
179905
|
+
event: "update",
|
|
179906
|
+
marks: collectRemainingMarksByType(remainingTrackedChanges),
|
|
179907
|
+
deletionNodes: [],
|
|
179908
|
+
nodes: [],
|
|
179909
|
+
newEditorState: nextState,
|
|
179910
|
+
documentId: editor.options?.documentId,
|
|
179911
|
+
trackedChangesForId: remainingTrackedChanges
|
|
179912
|
+
});
|
|
179913
|
+
if (updatePayload)
|
|
179914
|
+
editor.emit("commentsUpdate", updatePayload);
|
|
179915
|
+
});
|
|
179916
|
+
}, dispatchTrackedChangeResolution = ({ state, tr, dispatch, editor, touchedChangeIds }) => {
|
|
179917
|
+
if (!tr.steps.length)
|
|
179918
|
+
return true;
|
|
179919
|
+
const nextState = state.apply(tr);
|
|
179920
|
+
if (dispatch)
|
|
179921
|
+
dispatch(tr);
|
|
179922
|
+
if (dispatch && touchedChangeIds?.size)
|
|
179923
|
+
emitTrackedChangeCommentLifecycle({
|
|
179924
|
+
editor,
|
|
179925
|
+
nextState,
|
|
179926
|
+
touchedChangeIds
|
|
179927
|
+
});
|
|
179928
|
+
return true;
|
|
178948
179929
|
}, getChangesByIdToResolve = (state, id2) => {
|
|
178949
179930
|
const trackedChanges = getTrackChanges(state);
|
|
178950
179931
|
const changeIndex = trackedChanges.findIndex(({ mark: mark2 }) => mark2.attrs.id === id2);
|
|
@@ -181112,9 +182093,9 @@ var Node$13 = class Node$14 {
|
|
|
181112
182093
|
trackedChanges: context.trackedChanges ?? []
|
|
181113
182094
|
});
|
|
181114
182095
|
}, _hoisted_1$6, _hoisted_2$2, _hoisted_3, _hoisted_4, ContextMenu_default, _hoisted_1$5, BasicUpload_default, _hoisted_1$4, MIN_WIDTH = 200, PPI = 96, alignment = "flex-end", Ruler_default, GenericPopover_default, _hoisted_1$3, _hoisted_2$1, RESIZE_HANDLE_WIDTH_PX = 9, RESIZE_HANDLE_HEIGHT_PX = 9, RESIZE_HANDLE_OFFSET_PX = 4, DRAG_OVERLAY_EXTENSION_PX = 1000, MIN_DRAG_OVERLAY_WIDTH_PX = 2000, THROTTLE_INTERVAL_MS = 16, MIN_RESIZE_DELTA_PX = 1, TableResizeOverlay_default, _hoisted_1$2, OVERLAY_EXPANSION_PX = 2000, RESIZE_HANDLE_SIZE_PX = 12, MOUSE_MOVE_THROTTLE_MS = 16, DIMENSION_CHANGE_THRESHOLD_PX = 1, Z_INDEX_OVERLAY = 10, Z_INDEX_HANDLE = 15, Z_INDEX_GUIDELINE = 20, ImageResizeOverlay_default, LINK_CLICK_DEBOUNCE_MS = 300, CURSOR_UPDATE_TIMEOUT_MS = 10, POPOVER_VERTICAL_OFFSET_PX = 15, LinkClickHandler_default, _hoisted_1$1, _hoisted_2, DOCX2 = "application/vnd.openxmlformats-officedocument.wordprocessingml.document", TABLE_RESIZE_HOVER_THRESHOLD = 8, TABLE_RESIZE_THROTTLE_MS = 16, SuperEditor_default, _hoisted_1, SuperInput_default, SlashMenu, Extensions;
|
|
181115
|
-
var
|
|
182096
|
+
var init_src_BdKG1LCw_es = __esm(() => {
|
|
181116
182097
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
181117
|
-
|
|
182098
|
+
init_SuperConverter_CoCZX_fP_es();
|
|
181118
182099
|
init_jszip_ChlR43oI_es();
|
|
181119
182100
|
init_uuid_2IzDu5nl_es();
|
|
181120
182101
|
init_constants_CqvgVEDh_es();
|
|
@@ -189523,10 +190504,24 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
189523
190504
|
run: "runProperties",
|
|
189524
190505
|
paragraph: "paragraphProperties"
|
|
189525
190506
|
};
|
|
189526
|
-
|
|
190507
|
+
XML_PATH_BY_CHANNEL2 = {
|
|
189527
190508
|
run: "w:styles/w:docDefaults/w:rPrDefault/w:rPr",
|
|
189528
190509
|
paragraph: "w:styles/w:docDefaults/w:pPrDefault/w:pPr"
|
|
189529
190510
|
};
|
|
190511
|
+
UNDERLINE_API_TO_STORAGE = {
|
|
190512
|
+
val: "w:val",
|
|
190513
|
+
color: "w:color",
|
|
190514
|
+
themeColor: "w:themeColor",
|
|
190515
|
+
themeTint: "w:themeTint",
|
|
190516
|
+
themeShade: "w:themeShade"
|
|
190517
|
+
};
|
|
190518
|
+
UNDERLINE_STORAGE_TO_API = Object.fromEntries(Object.entries(UNDERLINE_API_TO_STORAGE).map(([k$1, v]) => [v, k$1]));
|
|
190519
|
+
HEX_SUBKEYS_BY_PROPERTY = {
|
|
190520
|
+
color: new Set(["val"]),
|
|
190521
|
+
shading: new Set(["color", "fill"]),
|
|
190522
|
+
underline: new Set(["color", "w:color"]),
|
|
190523
|
+
borders: new Set(["color"])
|
|
190524
|
+
};
|
|
189530
190525
|
PARAGRAPH_NODE_TYPES = new Set([
|
|
189531
190526
|
"paragraph",
|
|
189532
190527
|
"heading",
|
|
@@ -208936,98 +209931,92 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
208936
209931
|
return false;
|
|
208937
209932
|
let { tr, doc: doc$2 } = state;
|
|
208938
209933
|
tr.setMeta("inputType", "acceptReject");
|
|
209934
|
+
const touchedChangeIds = /* @__PURE__ */ new Set;
|
|
208939
209935
|
const map$22 = new Mapping;
|
|
208940
209936
|
doc$2.nodesBetween(from$12, to, (node3, pos) => {
|
|
208941
|
-
|
|
208942
|
-
|
|
209937
|
+
const trackedMark = getTrackedMark(node3);
|
|
209938
|
+
if (!trackedMark)
|
|
209939
|
+
return;
|
|
209940
|
+
const mappedFrom = map$22.map(Math.max(pos, from$12));
|
|
209941
|
+
const mappedTo = map$22.map(Math.min(pos + node3.nodeSize, to));
|
|
209942
|
+
if (mappedFrom >= mappedTo)
|
|
209943
|
+
return;
|
|
209944
|
+
if (trackedMark.attrs?.id)
|
|
209945
|
+
touchedChangeIds.add(trackedMark.attrs.id);
|
|
209946
|
+
if (trackedMark.type.name === "trackDelete") {
|
|
209947
|
+
const deletionStep = new ReplaceStep(mappedFrom, mappedTo, Slice.empty);
|
|
208943
209948
|
tr.step(deletionStep);
|
|
208944
209949
|
map$22.appendMap(deletionStep.getMap());
|
|
208945
|
-
|
|
208946
|
-
const insertionMark = node3.marks.find((mark2) => mark2.type.name === TrackInsertMarkName);
|
|
208947
|
-
tr.step(new RemoveMarkStep(map$22.map(Math.max(pos, from$12)), map$22.map(Math.min(pos + node3.nodeSize, to)), insertionMark));
|
|
208948
|
-
} else if (node3.marks && node3.marks.find((mark2) => mark2.type.name === "trackFormat")) {
|
|
208949
|
-
const formatChangeMark = node3.marks.find((mark2) => mark2.type.name === TrackFormatMarkName);
|
|
208950
|
-
tr.step(new RemoveMarkStep(map$22.map(Math.max(pos, from$12)), map$22.map(Math.min(pos + node3.nodeSize, to)), formatChangeMark));
|
|
209950
|
+
return;
|
|
208951
209951
|
}
|
|
209952
|
+
tr.step(new RemoveMarkStep(mappedFrom, mappedTo, trackedMark));
|
|
208952
209953
|
});
|
|
208953
|
-
|
|
208954
|
-
dispatch(tr);
|
|
208955
|
-
return true;
|
|
208956
|
-
},
|
|
208957
|
-
rejectTrackedChangesBetween: (from$12, to) => ({ state, dispatch, editor }) => {
|
|
208958
|
-
const trackedChangesInSelection = collectTrackedChanges({
|
|
209954
|
+
return dispatchTrackedChangeResolution({
|
|
208959
209955
|
state,
|
|
208960
|
-
|
|
208961
|
-
|
|
209956
|
+
tr,
|
|
209957
|
+
dispatch,
|
|
209958
|
+
editor,
|
|
209959
|
+
touchedChangeIds
|
|
208962
209960
|
});
|
|
208963
|
-
|
|
208964
|
-
|
|
208965
|
-
const trackedChanges = dedupeTrackedChangeRanges([...trackedChangesById, ...trackedChangesWithoutId]);
|
|
209961
|
+
},
|
|
209962
|
+
rejectTrackedChangesBetween: (from$12, to) => ({ state, dispatch, editor }) => {
|
|
208966
209963
|
if (!isTrackedChangeActionAllowed({
|
|
208967
209964
|
editor,
|
|
208968
209965
|
action: "reject",
|
|
208969
|
-
trackedChanges
|
|
209966
|
+
trackedChanges: collectTrackedChanges({
|
|
209967
|
+
state,
|
|
209968
|
+
from: from$12,
|
|
209969
|
+
to
|
|
209970
|
+
})
|
|
208970
209971
|
}))
|
|
208971
209972
|
return false;
|
|
208972
209973
|
const { tr, doc: doc$2 } = state;
|
|
208973
|
-
const
|
|
209974
|
+
const touchedChangeIds = /* @__PURE__ */ new Set;
|
|
208974
209975
|
tr.setMeta("inputType", "acceptReject");
|
|
208975
209976
|
const map$22 = new Mapping;
|
|
208976
|
-
|
|
208977
|
-
|
|
208978
|
-
|
|
208979
|
-
|
|
208980
|
-
|
|
208981
|
-
|
|
208982
|
-
|
|
208983
|
-
|
|
208984
|
-
|
|
208985
|
-
|
|
208986
|
-
|
|
208987
|
-
|
|
208988
|
-
|
|
208989
|
-
|
|
208990
|
-
|
|
208991
|
-
|
|
208992
|
-
|
|
208993
|
-
|
|
208994
|
-
|
|
208995
|
-
|
|
208996
|
-
|
|
208997
|
-
|
|
208998
|
-
const mappedFrom = map$22.map(Math.max(pos, rangeFrom));
|
|
208999
|
-
const mappedTo = map$22.map(Math.min(pos + node3.nodeSize, rangeTo));
|
|
209000
|
-
const liveMark = findMarkInRangeBySnapshot({
|
|
209001
|
-
doc: tr.doc,
|
|
209002
|
-
from: mappedFrom,
|
|
209003
|
-
to: mappedTo,
|
|
209004
|
-
snapshot: newMark
|
|
209005
|
-
});
|
|
209006
|
-
if (!liveMark)
|
|
209007
|
-
return;
|
|
209008
|
-
tr.step(new RemoveMarkStep(mappedFrom, mappedTo, liveMark));
|
|
209009
|
-
});
|
|
209010
|
-
tr.step(new RemoveMarkStep(map$22.map(Math.max(pos, rangeFrom)), map$22.map(Math.min(pos + node3.nodeSize, rangeTo)), formatChangeMark));
|
|
209011
|
-
}
|
|
209977
|
+
doc$2.nodesBetween(from$12, to, (node3, pos) => {
|
|
209978
|
+
const trackedMark = getTrackedMark(node3);
|
|
209979
|
+
if (!trackedMark)
|
|
209980
|
+
return;
|
|
209981
|
+
const mappedFrom = map$22.map(Math.max(pos, from$12));
|
|
209982
|
+
const mappedTo = map$22.map(Math.min(pos + node3.nodeSize, to));
|
|
209983
|
+
if (mappedFrom >= mappedTo)
|
|
209984
|
+
return;
|
|
209985
|
+
if (trackedMark.attrs?.id)
|
|
209986
|
+
touchedChangeIds.add(trackedMark.attrs.id);
|
|
209987
|
+
if (trackedMark.type.name === "trackDelete") {
|
|
209988
|
+
tr.step(new RemoveMarkStep(mappedFrom, mappedTo, trackedMark));
|
|
209989
|
+
return;
|
|
209990
|
+
}
|
|
209991
|
+
if (trackedMark.type.name === "trackInsert") {
|
|
209992
|
+
const deletionStep = new ReplaceStep(mappedFrom, mappedTo, Slice.empty);
|
|
209993
|
+
tr.step(deletionStep);
|
|
209994
|
+
map$22.appendMap(deletionStep.getMap());
|
|
209995
|
+
return;
|
|
209996
|
+
}
|
|
209997
|
+
trackedMark.attrs.before.forEach((oldMark) => {
|
|
209998
|
+
tr.step(new AddMarkStep(mappedFrom, mappedTo, state.schema.marks[oldMark.type].create(oldMark.attrs)));
|
|
209012
209999
|
});
|
|
209013
|
-
|
|
209014
|
-
|
|
209015
|
-
|
|
209016
|
-
|
|
209017
|
-
|
|
209018
|
-
|
|
209019
|
-
rejectedChangeIds.forEach((changeId) => {
|
|
209020
|
-
editor.emit("commentsUpdate", {
|
|
209021
|
-
type: "trackedChange",
|
|
209022
|
-
event: "resolve",
|
|
209023
|
-
changeId,
|
|
209024
|
-
resolvedByEmail,
|
|
209025
|
-
resolvedByName
|
|
209026
|
-
});
|
|
210000
|
+
trackedMark.attrs.after.forEach((newMark) => {
|
|
210001
|
+
const liveMark = findMarkInRangeBySnapshot({
|
|
210002
|
+
doc: tr.doc,
|
|
210003
|
+
from: mappedFrom,
|
|
210004
|
+
to: mappedTo,
|
|
210005
|
+
snapshot: newMark
|
|
209027
210006
|
});
|
|
209028
|
-
|
|
209029
|
-
|
|
209030
|
-
|
|
210007
|
+
if (!liveMark)
|
|
210008
|
+
return;
|
|
210009
|
+
tr.step(new RemoveMarkStep(mappedFrom, mappedTo, liveMark));
|
|
210010
|
+
});
|
|
210011
|
+
tr.step(new RemoveMarkStep(mappedFrom, mappedTo, trackedMark));
|
|
210012
|
+
});
|
|
210013
|
+
return dispatchTrackedChangeResolution({
|
|
210014
|
+
state,
|
|
210015
|
+
tr,
|
|
210016
|
+
dispatch,
|
|
210017
|
+
editor,
|
|
210018
|
+
touchedChangeIds
|
|
210019
|
+
});
|
|
209031
210020
|
},
|
|
209032
210021
|
acceptTrackedChange: ({ trackedChange }) => ({ commands: commands$1 }) => {
|
|
209033
210022
|
const { start: from$12, end: to } = trackedChange;
|
|
@@ -209037,13 +210026,33 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
209037
210026
|
const { from: from$12, to } = state.selection;
|
|
209038
210027
|
return commands$1.acceptTrackedChangesBetween(from$12, to);
|
|
209039
210028
|
},
|
|
209040
|
-
acceptTrackedChangeFromToolbar: () => ({ state, commands: commands$1 }) => {
|
|
209041
|
-
|
|
209042
|
-
|
|
209043
|
-
|
|
209044
|
-
|
|
209045
|
-
|
|
209046
|
-
|
|
210029
|
+
acceptTrackedChangeFromToolbar: () => ({ state, commands: commands$1, editor }) => {
|
|
210030
|
+
return resolveTrackedChangeAction({
|
|
210031
|
+
action: "accept",
|
|
210032
|
+
state,
|
|
210033
|
+
commands: commands$1,
|
|
210034
|
+
editor,
|
|
210035
|
+
...getTrackedChangeResolutionContext({
|
|
210036
|
+
state,
|
|
210037
|
+
trackedChangeId: CommentsPluginKey.getState(state)?.activeThreadId
|
|
210038
|
+
})
|
|
210039
|
+
});
|
|
210040
|
+
},
|
|
210041
|
+
acceptTrackedChangeFromContextMenu: ({ from: from$12, to, trackedChangeId = null } = {}) => ({ state, commands: commands$1, editor }) => {
|
|
210042
|
+
return resolveTrackedChangeAction({
|
|
210043
|
+
action: "accept",
|
|
210044
|
+
state,
|
|
210045
|
+
commands: commands$1,
|
|
210046
|
+
editor,
|
|
210047
|
+
selection: Number.isFinite(from$12) && Number.isFinite(to) ? {
|
|
210048
|
+
from: from$12,
|
|
210049
|
+
to
|
|
210050
|
+
} : null,
|
|
210051
|
+
...getTrackedChangeResolutionContext({
|
|
210052
|
+
state,
|
|
210053
|
+
trackedChangeId
|
|
210054
|
+
})
|
|
210055
|
+
});
|
|
209047
210056
|
},
|
|
209048
210057
|
acceptTrackedChangeById: (id2) => ({ state, tr, commands: commands$1 }) => {
|
|
209049
210058
|
return (getChangesByIdToResolve(state, id2) || []).map(({ from: from$12, to }) => {
|
|
@@ -209071,13 +210080,33 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
209071
210080
|
const { from: from$12, to } = state.selection;
|
|
209072
210081
|
return commands$1.rejectTrackedChangesBetween(from$12, to);
|
|
209073
210082
|
},
|
|
209074
|
-
rejectTrackedChangeFromToolbar: () => ({ state, commands: commands$1 }) => {
|
|
209075
|
-
|
|
209076
|
-
|
|
209077
|
-
|
|
209078
|
-
|
|
209079
|
-
|
|
209080
|
-
|
|
210083
|
+
rejectTrackedChangeFromToolbar: () => ({ state, commands: commands$1, editor }) => {
|
|
210084
|
+
return resolveTrackedChangeAction({
|
|
210085
|
+
action: "reject",
|
|
210086
|
+
state,
|
|
210087
|
+
commands: commands$1,
|
|
210088
|
+
editor,
|
|
210089
|
+
...getTrackedChangeResolutionContext({
|
|
210090
|
+
state,
|
|
210091
|
+
trackedChangeId: CommentsPluginKey.getState(state)?.activeThreadId
|
|
210092
|
+
})
|
|
210093
|
+
});
|
|
210094
|
+
},
|
|
210095
|
+
rejectTrackedChangeFromContextMenu: ({ from: from$12, to, trackedChangeId = null } = {}) => ({ state, commands: commands$1, editor }) => {
|
|
210096
|
+
return resolveTrackedChangeAction({
|
|
210097
|
+
action: "reject",
|
|
210098
|
+
state,
|
|
210099
|
+
commands: commands$1,
|
|
210100
|
+
editor,
|
|
210101
|
+
selection: Number.isFinite(from$12) && Number.isFinite(to) ? {
|
|
210102
|
+
from: from$12,
|
|
210103
|
+
to
|
|
210104
|
+
} : null,
|
|
210105
|
+
...getTrackedChangeResolutionContext({
|
|
210106
|
+
state,
|
|
210107
|
+
trackedChangeId
|
|
210108
|
+
})
|
|
210109
|
+
});
|
|
209081
210110
|
},
|
|
209082
210111
|
rejectAllTrackedChanges: () => ({ state, commands: commands$1 }) => {
|
|
209083
210112
|
const from$12 = 0, to = state.doc.content.size;
|
|
@@ -209234,6 +210263,11 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
209234
210263
|
return [TrackChangesBasePlugin()];
|
|
209235
210264
|
}
|
|
209236
210265
|
});
|
|
210266
|
+
TRACKED_CHANGE_MARKS = [
|
|
210267
|
+
TrackDeleteMarkName,
|
|
210268
|
+
TrackInsertMarkName,
|
|
210269
|
+
TrackFormatMarkName
|
|
210270
|
+
];
|
|
209237
210271
|
TextTransform = Extension.create({
|
|
209238
210272
|
name: "textTransform",
|
|
209239
210273
|
addOptions() {
|
|
@@ -212589,8 +213623,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
212589
213623
|
return isObjectLike_default(value) && hasOwnProperty$8.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee");
|
|
212590
213624
|
};
|
|
212591
213625
|
stubFalse_default = stubFalse;
|
|
212592
|
-
freeExports$2 = typeof
|
|
212593
|
-
freeModule$2 = freeExports$2 && typeof
|
|
213626
|
+
freeExports$2 = typeof exports_src_BdKG1LCw_es == "object" && exports_src_BdKG1LCw_es && !exports_src_BdKG1LCw_es.nodeType && exports_src_BdKG1LCw_es;
|
|
213627
|
+
freeModule$2 = freeExports$2 && typeof module_src_BdKG1LCw_es == "object" && module_src_BdKG1LCw_es && !module_src_BdKG1LCw_es.nodeType && module_src_BdKG1LCw_es;
|
|
212594
213628
|
Buffer$1 = freeModule$2 && freeModule$2.exports === freeExports$2 ? _root_default.Buffer : undefined;
|
|
212595
213629
|
isBuffer_default = (Buffer$1 ? Buffer$1.isBuffer : undefined) || stubFalse_default;
|
|
212596
213630
|
typedArrayTags = {};
|
|
@@ -212598,8 +213632,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
212598
213632
|
typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$1] = typedArrayTags[boolTag$1] = typedArrayTags[dataViewTag$2] = typedArrayTags[dateTag$1] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag] = typedArrayTags[mapTag$2] = typedArrayTags[numberTag$1] = typedArrayTags[objectTag$3] = typedArrayTags[regexpTag$1] = typedArrayTags[setTag$2] = typedArrayTags[stringTag$1] = typedArrayTags[weakMapTag$1] = false;
|
|
212599
213633
|
_baseIsTypedArray_default = baseIsTypedArray;
|
|
212600
213634
|
_baseUnary_default = baseUnary;
|
|
212601
|
-
freeExports$1 = typeof
|
|
212602
|
-
freeModule$1 = freeExports$1 && typeof
|
|
213635
|
+
freeExports$1 = typeof exports_src_BdKG1LCw_es == "object" && exports_src_BdKG1LCw_es && !exports_src_BdKG1LCw_es.nodeType && exports_src_BdKG1LCw_es;
|
|
213636
|
+
freeModule$1 = freeExports$1 && typeof module_src_BdKG1LCw_es == "object" && module_src_BdKG1LCw_es && !module_src_BdKG1LCw_es.nodeType && module_src_BdKG1LCw_es;
|
|
212603
213637
|
freeProcess = freeModule$1 && freeModule$1.exports === freeExports$1 && _freeGlobal_default.process;
|
|
212604
213638
|
_nodeUtil_default = function() {
|
|
212605
213639
|
try {
|
|
@@ -212704,8 +213738,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
212704
213738
|
Stack.prototype.has = _stackHas_default;
|
|
212705
213739
|
Stack.prototype.set = _stackSet_default;
|
|
212706
213740
|
_Stack_default = Stack;
|
|
212707
|
-
freeExports = typeof
|
|
212708
|
-
freeModule = freeExports && typeof
|
|
213741
|
+
freeExports = typeof exports_src_BdKG1LCw_es == "object" && exports_src_BdKG1LCw_es && !exports_src_BdKG1LCw_es.nodeType && exports_src_BdKG1LCw_es;
|
|
213742
|
+
freeModule = freeExports && typeof module_src_BdKG1LCw_es == "object" && module_src_BdKG1LCw_es && !module_src_BdKG1LCw_es.nodeType && module_src_BdKG1LCw_es;
|
|
212709
213743
|
Buffer4 = freeModule && freeModule.exports === freeExports ? _root_default.Buffer : undefined;
|
|
212710
213744
|
allocUnsafe = Buffer4 ? Buffer4.allocUnsafe : undefined;
|
|
212711
213745
|
_cloneBuffer_default = cloneBuffer;
|
|
@@ -220785,8 +221819,8 @@ var init_zipper_DqXT7uTa_es = __esm(() => {
|
|
|
220785
221819
|
|
|
220786
221820
|
// ../../packages/superdoc/dist/super-editor.es.js
|
|
220787
221821
|
var init_super_editor_es = __esm(() => {
|
|
220788
|
-
|
|
220789
|
-
|
|
221822
|
+
init_src_BdKG1LCw_es();
|
|
221823
|
+
init_SuperConverter_CoCZX_fP_es();
|
|
220790
221824
|
init_jszip_ChlR43oI_es();
|
|
220791
221825
|
init_xml_js_DLE8mr0n_es();
|
|
220792
221826
|
init_constants_CqvgVEDh_es();
|
|
@@ -278712,63 +279746,144 @@ function syncDocDefaultsToConvertedXml2(converter, docDefaultsTranslator) {
|
|
|
278712
279746
|
}
|
|
278713
279747
|
|
|
278714
279748
|
// ../../packages/super-editor/src/document-api-adapters/styles-adapter.ts
|
|
278715
|
-
function
|
|
278716
|
-
|
|
278717
|
-
|
|
278718
|
-
|
|
278719
|
-
|
|
278720
|
-
|
|
278721
|
-
|
|
278722
|
-
|
|
279749
|
+
function mapUnderlineToStorage2(apiObj) {
|
|
279750
|
+
const result = {};
|
|
279751
|
+
for (const [k2, v] of Object.entries(apiObj)) {
|
|
279752
|
+
result[UNDERLINE_API_TO_STORAGE2[k2] ?? k2] = v;
|
|
279753
|
+
}
|
|
279754
|
+
return result;
|
|
279755
|
+
}
|
|
279756
|
+
function mapUnderlineToApi2(storageObj) {
|
|
279757
|
+
const result = {};
|
|
279758
|
+
for (const [k2, v] of Object.entries(storageObj)) {
|
|
279759
|
+
result[UNDERLINE_STORAGE_TO_API2[k2] ?? k2] = v;
|
|
279760
|
+
}
|
|
279761
|
+
return result;
|
|
279762
|
+
}
|
|
279763
|
+
function normalizeHexColor5(val) {
|
|
279764
|
+
return val.replace(/^#/, "").toUpperCase();
|
|
279765
|
+
}
|
|
279766
|
+
function normalizeObjectSubKeys2(obj, key2) {
|
|
279767
|
+
const hexKeys = HEX_SUBKEYS_BY_PROPERTY2[key2];
|
|
279768
|
+
if (!hexKeys)
|
|
279769
|
+
return obj;
|
|
279770
|
+
const result = {};
|
|
279771
|
+
for (const [k2, v] of Object.entries(obj)) {
|
|
279772
|
+
if (typeof v === "string" && hexKeys.has(k2)) {
|
|
279773
|
+
result[k2] = normalizeHexColor5(v);
|
|
279774
|
+
} else {
|
|
279775
|
+
result[k2] = v;
|
|
279776
|
+
}
|
|
279777
|
+
}
|
|
279778
|
+
return result;
|
|
278723
279779
|
}
|
|
278724
|
-
function
|
|
278725
|
-
|
|
278726
|
-
|
|
279780
|
+
function jsonDeepEqual2(a2, b2) {
|
|
279781
|
+
if (a2 === b2)
|
|
279782
|
+
return true;
|
|
279783
|
+
if (a2 === null || b2 === null)
|
|
278727
279784
|
return false;
|
|
278728
|
-
|
|
278729
|
-
|
|
278730
|
-
|
|
278731
|
-
if (
|
|
278732
|
-
|
|
278733
|
-
|
|
278734
|
-
|
|
278735
|
-
const bKeys = Object.keys(bv);
|
|
278736
|
-
if (aKeys.length !== bKeys.length)
|
|
279785
|
+
if (typeof a2 !== typeof b2)
|
|
279786
|
+
return false;
|
|
279787
|
+
if (Array.isArray(a2)) {
|
|
279788
|
+
if (!Array.isArray(b2) || a2.length !== b2.length)
|
|
279789
|
+
return false;
|
|
279790
|
+
for (let i4 = 0;i4 < a2.length; i4++) {
|
|
279791
|
+
if (!jsonDeepEqual2(a2[i4], b2[i4]))
|
|
278737
279792
|
return false;
|
|
278738
|
-
for (const k2 of aKeys) {
|
|
278739
|
-
if (av[k2] !== bv[k2])
|
|
278740
|
-
return false;
|
|
278741
|
-
}
|
|
278742
|
-
continue;
|
|
278743
279793
|
}
|
|
278744
|
-
return
|
|
279794
|
+
return true;
|
|
278745
279795
|
}
|
|
278746
|
-
|
|
279796
|
+
if (typeof a2 === "object") {
|
|
279797
|
+
const aObj = a2;
|
|
279798
|
+
const bObj = b2;
|
|
279799
|
+
const aKeys = Object.keys(aObj);
|
|
279800
|
+
const bKeys = Object.keys(bObj);
|
|
279801
|
+
if (aKeys.length !== bKeys.length)
|
|
279802
|
+
return false;
|
|
279803
|
+
for (const key2 of aKeys) {
|
|
279804
|
+
if (!Object.prototype.hasOwnProperty.call(bObj, key2))
|
|
279805
|
+
return false;
|
|
279806
|
+
if (!jsonDeepEqual2(aObj[key2], bObj[key2]))
|
|
279807
|
+
return false;
|
|
279808
|
+
}
|
|
279809
|
+
return true;
|
|
279810
|
+
}
|
|
279811
|
+
return false;
|
|
278747
279812
|
}
|
|
278748
|
-
function
|
|
278749
|
-
|
|
278750
|
-
|
|
278751
|
-
|
|
278752
|
-
|
|
279813
|
+
function formatState2(value, schema, key2) {
|
|
279814
|
+
if (value === undefined)
|
|
279815
|
+
return "inherit";
|
|
279816
|
+
switch (schema.kind) {
|
|
279817
|
+
case "boolean":
|
|
279818
|
+
return value ? "on" : "off";
|
|
279819
|
+
case "object":
|
|
279820
|
+
if (typeof value === "object" && value !== null) {
|
|
279821
|
+
const obj = { ...value };
|
|
279822
|
+
return key2 === "underline" ? mapUnderlineToApi2(obj) : obj;
|
|
279823
|
+
}
|
|
279824
|
+
return value;
|
|
279825
|
+
case "array":
|
|
279826
|
+
return Array.isArray(value) ? [...value.map((item) => structuredClone(item))] : value;
|
|
279827
|
+
default:
|
|
279828
|
+
return value;
|
|
279829
|
+
}
|
|
279830
|
+
}
|
|
279831
|
+
function asRecord3(value) {
|
|
279832
|
+
return typeof value === "object" && value !== null ? value : {};
|
|
279833
|
+
}
|
|
279834
|
+
function cloneForStorage2(value) {
|
|
279835
|
+
if (value === null || typeof value !== "object") {
|
|
279836
|
+
return value;
|
|
279837
|
+
}
|
|
279838
|
+
return structuredClone(value);
|
|
279839
|
+
}
|
|
279840
|
+
function applyReplace2(targetProps, key2, value) {
|
|
279841
|
+
targetProps[key2] = cloneForStorage2(value);
|
|
279842
|
+
}
|
|
279843
|
+
function applyShallowMerge2(targetProps, key2, value) {
|
|
279844
|
+
const current = asRecord3(targetProps[key2]);
|
|
279845
|
+
const patch3 = value;
|
|
279846
|
+
if (key2 === "underline") {
|
|
279847
|
+
const storagePatch = cloneForStorage2(mapUnderlineToStorage2(normalizeObjectSubKeys2(patch3, key2)));
|
|
279848
|
+
targetProps[key2] = { ...current, ...storagePatch };
|
|
279849
|
+
return;
|
|
279850
|
+
}
|
|
279851
|
+
targetProps[key2] = { ...current, ...cloneForStorage2(normalizeObjectSubKeys2(patch3, key2)) };
|
|
279852
|
+
}
|
|
279853
|
+
function applyEdgeMerge2(targetProps, key2, value) {
|
|
279854
|
+
const current = asRecord3(targetProps[key2]);
|
|
279855
|
+
const patch3 = value;
|
|
279856
|
+
const result = { ...current };
|
|
279857
|
+
for (const [edge, edgeValue] of Object.entries(patch3)) {
|
|
279858
|
+
const currentEdge = asRecord3(result[edge]);
|
|
279859
|
+
result[edge] = { ...currentEdge, ...cloneForStorage2(normalizeObjectSubKeys2(edgeValue, key2)) };
|
|
279860
|
+
}
|
|
279861
|
+
targetProps[key2] = result;
|
|
278753
279862
|
}
|
|
278754
279863
|
function applyPatch4(targetProps, patch3, channel) {
|
|
278755
279864
|
const before = {};
|
|
278756
279865
|
const after = {};
|
|
278757
|
-
|
|
278758
|
-
|
|
278759
|
-
|
|
278760
|
-
|
|
278761
|
-
|
|
278762
|
-
|
|
278763
|
-
|
|
278764
|
-
|
|
278765
|
-
|
|
278766
|
-
|
|
278767
|
-
|
|
278768
|
-
|
|
279866
|
+
const patchKeys = new Set(Object.keys(patch3));
|
|
279867
|
+
for (const def2 of PROPERTY_REGISTRY) {
|
|
279868
|
+
if (def2.channel !== channel || !patchKeys.has(def2.key))
|
|
279869
|
+
continue;
|
|
279870
|
+
const key2 = def2.key;
|
|
279871
|
+
const value = patch3[key2];
|
|
279872
|
+
before[key2] = formatState2(targetProps[key2], def2.schema, key2);
|
|
279873
|
+
switch (def2.mergeStrategy) {
|
|
279874
|
+
case "replace":
|
|
279875
|
+
applyReplace2(targetProps, key2, value);
|
|
279876
|
+
break;
|
|
279877
|
+
case "shallowMerge":
|
|
279878
|
+
applyShallowMerge2(targetProps, key2, value);
|
|
279879
|
+
break;
|
|
279880
|
+
case "edgeMerge":
|
|
279881
|
+
applyEdgeMerge2(targetProps, key2, value);
|
|
279882
|
+
break;
|
|
278769
279883
|
}
|
|
279884
|
+
after[key2] = formatState2(targetProps[key2], def2.schema, key2);
|
|
278770
279885
|
}
|
|
278771
|
-
const changed = !
|
|
279886
|
+
const changed = !jsonDeepEqual2(before, after);
|
|
278772
279887
|
return { before, after, changed };
|
|
278773
279888
|
}
|
|
278774
279889
|
function stylesApplyAdapter2(editor, input2, options) {
|
|
@@ -278794,14 +279909,14 @@ function stylesApplyAdapter2(editor, input2, options) {
|
|
|
278794
279909
|
scope: "docDefaults",
|
|
278795
279910
|
channel,
|
|
278796
279911
|
xmlPart: STYLES_PART2,
|
|
278797
|
-
xmlPath:
|
|
279912
|
+
xmlPath: XML_PATH_BY_CHANNEL3[channel]
|
|
278798
279913
|
};
|
|
278799
279914
|
return executeOutOfBandMutation2(editor, (dryRun) => {
|
|
278800
279915
|
const propsKey = PROPERTIES_KEY_BY_CHANNEL2[channel];
|
|
278801
279916
|
const existingProps = converter.translatedLinkedStyles?.docDefaults?.[propsKey];
|
|
278802
279917
|
let targetProps;
|
|
278803
279918
|
if (dryRun) {
|
|
278804
|
-
targetProps = existingProps ?
|
|
279919
|
+
targetProps = existingProps ? structuredClone(existingProps) : {};
|
|
278805
279920
|
} else {
|
|
278806
279921
|
if (!converter.translatedLinkedStyles) {
|
|
278807
279922
|
converter.translatedLinkedStyles = {};
|
|
@@ -278830,7 +279945,7 @@ function stylesApplyAdapter2(editor, input2, options) {
|
|
|
278830
279945
|
return { changed, payload: receipt2 };
|
|
278831
279946
|
}, options);
|
|
278832
279947
|
}
|
|
278833
|
-
var STYLES_PART2 = "word/styles.xml", PROPERTIES_KEY_BY_CHANNEL2,
|
|
279948
|
+
var STYLES_PART2 = "word/styles.xml", PROPERTIES_KEY_BY_CHANNEL2, XML_PATH_BY_CHANNEL3, UNDERLINE_API_TO_STORAGE2, UNDERLINE_STORAGE_TO_API2, HEX_SUBKEYS_BY_PROPERTY2;
|
|
278834
279949
|
var init_styles_adapter = __esm(() => {
|
|
278835
279950
|
init_src();
|
|
278836
279951
|
init_errors3();
|
|
@@ -278841,10 +279956,24 @@ var init_styles_adapter = __esm(() => {
|
|
|
278841
279956
|
run: "runProperties",
|
|
278842
279957
|
paragraph: "paragraphProperties"
|
|
278843
279958
|
};
|
|
278844
|
-
|
|
279959
|
+
XML_PATH_BY_CHANNEL3 = {
|
|
278845
279960
|
run: "w:styles/w:docDefaults/w:rPrDefault/w:rPr",
|
|
278846
279961
|
paragraph: "w:styles/w:docDefaults/w:pPrDefault/w:pPr"
|
|
278847
279962
|
};
|
|
279963
|
+
UNDERLINE_API_TO_STORAGE2 = {
|
|
279964
|
+
val: "w:val",
|
|
279965
|
+
color: "w:color",
|
|
279966
|
+
themeColor: "w:themeColor",
|
|
279967
|
+
themeTint: "w:themeTint",
|
|
279968
|
+
themeShade: "w:themeShade"
|
|
279969
|
+
};
|
|
279970
|
+
UNDERLINE_STORAGE_TO_API2 = Object.fromEntries(Object.entries(UNDERLINE_API_TO_STORAGE2).map(([k2, v]) => [v, k2]));
|
|
279971
|
+
HEX_SUBKEYS_BY_PROPERTY2 = {
|
|
279972
|
+
color: new Set(["val"]),
|
|
279973
|
+
shading: new Set(["color", "fill"]),
|
|
279974
|
+
underline: new Set(["color", "w:color"]),
|
|
279975
|
+
borders: new Set(["color"])
|
|
279976
|
+
};
|
|
278848
279977
|
});
|
|
278849
279978
|
|
|
278850
279979
|
// ../../packages/super-editor/src/document-api-adapters/plan-engine/paragraphs-wrappers.ts
|
|
@@ -280906,11 +282035,11 @@ function toMatchStyle2(marks, cascadeContext) {
|
|
|
280906
282035
|
const runProps = marks.find((m2) => m2.type.name === "runProperties");
|
|
280907
282036
|
const textStyle = marks.find((m2) => m2.type.name === "textStyle");
|
|
280908
282037
|
const color3 = extractAttr2(runProps, "color") ?? extractAttr2(textStyle, "color");
|
|
280909
|
-
const normalizedColor = color3 != null ?
|
|
282038
|
+
const normalizedColor = color3 != null ? normalizeHexColor6(String(color3)) : undefined;
|
|
280910
282039
|
if (normalizedColor)
|
|
280911
282040
|
style3.color = normalizedColor;
|
|
280912
282041
|
const highlight = extractAttr2(runProps, "highlight") ?? extractAttr2(textStyle, "highlight");
|
|
280913
|
-
const normalizedHighlight = highlight != null ?
|
|
282042
|
+
const normalizedHighlight = highlight != null ? normalizeHexColor6(String(highlight)) : undefined;
|
|
280914
282043
|
if (normalizedHighlight)
|
|
280915
282044
|
style3.highlight = normalizedHighlight;
|
|
280916
282045
|
const fontFamily2 = extractAttr2(runProps, "fontFamily") ?? extractAttr2(textStyle, "fontFamily");
|
|
@@ -280939,7 +282068,7 @@ function extractRunStyleId2(marks) {
|
|
|
280939
282068
|
const id2 = runProps.attrs.styleId;
|
|
280940
282069
|
return typeof id2 === "string" && id2.length > 0 ? id2 : undefined;
|
|
280941
282070
|
}
|
|
280942
|
-
function
|
|
282071
|
+
function normalizeHexColor6(raw) {
|
|
280943
282072
|
if (!raw || typeof raw !== "string")
|
|
280944
282073
|
return;
|
|
280945
282074
|
const trimmed = raw.trim().toLowerCase();
|
|
@@ -285035,11 +286164,11 @@ function createTableAdapter2(editor, input2, options) {
|
|
|
285035
286164
|
};
|
|
285036
286165
|
}
|
|
285037
286166
|
}
|
|
285038
|
-
function
|
|
286167
|
+
function asRecord4(value) {
|
|
285039
286168
|
return value && typeof value === "object" ? value : undefined;
|
|
285040
286169
|
}
|
|
285041
286170
|
function resolveTableLook2(tableProps) {
|
|
285042
|
-
return
|
|
286171
|
+
return asRecord4(tableProps.tblLook);
|
|
285043
286172
|
}
|
|
285044
286173
|
function mapJustificationToTableAlignment2(value) {
|
|
285045
286174
|
switch (value) {
|
|
@@ -285077,7 +286206,7 @@ function resolvePreferredWidth2(value) {
|
|
|
285077
286206
|
const numeric = resolveMeasurementValue2(value);
|
|
285078
286207
|
if (numeric != null)
|
|
285079
286208
|
return numeric;
|
|
285080
|
-
const record =
|
|
286209
|
+
const record = asRecord4(value);
|
|
285081
286210
|
if (!record)
|
|
285082
286211
|
return;
|
|
285083
286212
|
return resolveMeasurementValue2(record.value) ?? resolveMeasurementValue2(record.width);
|
|
@@ -285147,7 +286276,7 @@ function tablesGetCellsAdapter2(editor, input2) {
|
|
|
285147
286276
|
}
|
|
285148
286277
|
function tablesGetPropertiesAdapter2(editor, input2) {
|
|
285149
286278
|
const resolved = resolveTableLocator2(editor, input2, "tables.getProperties");
|
|
285150
|
-
const tp =
|
|
286279
|
+
const tp = asRecord4(resolved.candidate.node.attrs?.tableProperties) ?? {};
|
|
285151
286280
|
const result = {
|
|
285152
286281
|
nodeId: resolved.candidate.nodeId
|
|
285153
286282
|
};
|
|
@@ -285160,7 +286289,7 @@ function tablesGetPropertiesAdapter2(editor, input2) {
|
|
|
285160
286289
|
result.direction = "rtl";
|
|
285161
286290
|
else if (tp.rightToLeft === false)
|
|
285162
286291
|
result.direction = "ltr";
|
|
285163
|
-
const tableWidth =
|
|
286292
|
+
const tableWidth = asRecord4(tp.tableWidth);
|
|
285164
286293
|
const autoFitMode = mapTableLayoutToAutoFitMode2(tp.tableLayout, tableWidth);
|
|
285165
286294
|
if (autoFitMode)
|
|
285166
286295
|
result.autoFitMode = autoFitMode;
|
|
@@ -343132,7 +344261,7 @@ var init_find_query = __esm(() => {
|
|
|
343132
344261
|
});
|
|
343133
344262
|
|
|
343134
344263
|
// src/lib/node-pretty.ts
|
|
343135
|
-
function
|
|
344264
|
+
function asRecord5(value2) {
|
|
343136
344265
|
if (typeof value2 !== "object" || value2 == null || Array.isArray(value2))
|
|
343137
344266
|
return null;
|
|
343138
344267
|
return value2;
|
|
@@ -343153,7 +344282,7 @@ function formatPropertyValue(value2) {
|
|
|
343153
344282
|
}
|
|
343154
344283
|
function buildNodePretty(revision, headerLabel, node4) {
|
|
343155
344284
|
const lines = [`Revision ${revision}: ${headerLabel}`];
|
|
343156
|
-
const record =
|
|
344285
|
+
const record = asRecord5(node4);
|
|
343157
344286
|
if (!record)
|
|
343158
344287
|
return lines.join(`
|
|
343159
344288
|
`);
|
|
@@ -343172,7 +344301,7 @@ function buildNodePretty(revision, headerLabel, node4) {
|
|
|
343172
344301
|
lines.push("");
|
|
343173
344302
|
lines.push(` Text: "${truncate(text9, 80)}"`);
|
|
343174
344303
|
}
|
|
343175
|
-
const properties =
|
|
344304
|
+
const properties = asRecord5(record.properties);
|
|
343176
344305
|
if (!properties)
|
|
343177
344306
|
return lines.join(`
|
|
343178
344307
|
`);
|
|
@@ -343191,7 +344320,7 @@ function buildNodePretty(revision, headerLabel, node4) {
|
|
|
343191
344320
|
var init_node_pretty = () => {};
|
|
343192
344321
|
|
|
343193
344322
|
// src/lib/output-formatters.ts
|
|
343194
|
-
function
|
|
344323
|
+
function asRecord6(value2) {
|
|
343195
344324
|
if (typeof value2 !== "object" || value2 == null || Array.isArray(value2))
|
|
343196
344325
|
return null;
|
|
343197
344326
|
return value2;
|
|
@@ -343203,10 +344332,10 @@ function hasNonEmptyString2(value2) {
|
|
|
343203
344332
|
return typeof value2 === "string" && value2.length > 0;
|
|
343204
344333
|
}
|
|
343205
344334
|
function formatCommentList(result2, ctx2) {
|
|
343206
|
-
const record =
|
|
344335
|
+
const record = asRecord6(result2);
|
|
343207
344336
|
const total = safeNumber(record?.total, 0);
|
|
343208
344337
|
const rows2 = asArray(record?.items).map((entry) => {
|
|
343209
|
-
const comment2 =
|
|
344338
|
+
const comment2 = asRecord6(entry) ?? {};
|
|
343210
344339
|
const status = hasNonEmptyString2(comment2.status) ? comment2.status : "unknown";
|
|
343211
344340
|
const commentId = hasNonEmptyString2(comment2.id) ? comment2.id : "<unknown>";
|
|
343212
344341
|
const creatorName = hasNonEmptyString2(comment2.creatorName) ? comment2.creatorName : "";
|
|
@@ -343236,9 +344365,9 @@ function formatCommentList(result2, ctx2) {
|
|
|
343236
344365
|
`);
|
|
343237
344366
|
}
|
|
343238
344367
|
function formatListResult(result2, ctx2) {
|
|
343239
|
-
const record =
|
|
344368
|
+
const record = asRecord6(result2);
|
|
343240
344369
|
const total = safeNumber(record?.total, 0);
|
|
343241
|
-
const items2 = asArray(record?.items).map((entry) =>
|
|
344370
|
+
const items2 = asArray(record?.items).map((entry) => asRecord6(entry)).filter((entry) => Boolean(entry));
|
|
343242
344371
|
const lines = [`Revision ${ctx2.revision}: ${total} list items`];
|
|
343243
344372
|
if (items2.length === 0)
|
|
343244
344373
|
return lines[0];
|
|
@@ -343263,11 +344392,11 @@ function formatListResult(result2, ctx2) {
|
|
|
343263
344392
|
`);
|
|
343264
344393
|
}
|
|
343265
344394
|
function formatTrackChangeList(result2, ctx2) {
|
|
343266
|
-
const record =
|
|
344395
|
+
const record = asRecord6(result2);
|
|
343267
344396
|
const total = safeNumber(record?.total, 0);
|
|
343268
344397
|
const rows2 = asArray(record?.items).map((entry) => {
|
|
343269
|
-
const item =
|
|
343270
|
-
const address2 =
|
|
344398
|
+
const item = asRecord6(entry) ?? {};
|
|
344399
|
+
const address2 = asRecord6(item.address);
|
|
343271
344400
|
const type2 = hasNonEmptyString2(item.type) ? item.type : "change";
|
|
343272
344401
|
const id3 = hasNonEmptyString2(item.id) ? item.id : hasNonEmptyString2(address2?.entityId) ? String(address2?.entityId) : "<unknown>";
|
|
343273
344402
|
const authorName = hasNonEmptyString2(item.author) ? item.author : "";
|
|
@@ -343301,11 +344430,11 @@ function formatTrackChangeList(result2, ctx2) {
|
|
|
343301
344430
|
`);
|
|
343302
344431
|
}
|
|
343303
344432
|
function formatDocumentInfo(result2, ctx2) {
|
|
343304
|
-
const record =
|
|
344433
|
+
const record = asRecord6(result2);
|
|
343305
344434
|
if (!record)
|
|
343306
344435
|
return `Revision ${ctx2.revision}: retrieved info`;
|
|
343307
|
-
const counts =
|
|
343308
|
-
const outline = asArray(record.outline).map((entry) =>
|
|
344436
|
+
const counts = asRecord6(record.counts) ?? {};
|
|
344437
|
+
const outline = asArray(record.outline).map((entry) => asRecord6(entry)).filter((entry) => Boolean(entry));
|
|
343309
344438
|
const words = safeNumber(counts.words, 0);
|
|
343310
344439
|
const paragraphs = safeNumber(counts.paragraphs, 0);
|
|
343311
344440
|
const headings = safeNumber(counts.headings, 0);
|
|
@@ -343382,7 +344511,7 @@ var init_session_collab = __esm(() => {
|
|
|
343382
344511
|
|
|
343383
344512
|
// src/lib/special-handlers.ts
|
|
343384
344513
|
import { createHash as createHash3 } from "node:crypto";
|
|
343385
|
-
function
|
|
344514
|
+
function asRecord7(value2) {
|
|
343386
344515
|
if (typeof value2 !== "object" || value2 == null || Array.isArray(value2))
|
|
343387
344516
|
return null;
|
|
343388
344517
|
return value2;
|
|
@@ -343391,7 +344520,7 @@ function asArray2(value2) {
|
|
|
343391
344520
|
return Array.isArray(value2) ? value2 : [];
|
|
343392
344521
|
}
|
|
343393
344522
|
function asTrackChangeAddress(value2) {
|
|
343394
|
-
const record =
|
|
344523
|
+
const record = asRecord7(value2);
|
|
343395
344524
|
if (!record)
|
|
343396
344525
|
return null;
|
|
343397
344526
|
if (record.kind !== "entity" || record.entityType !== "trackedChange")
|
|
@@ -343413,14 +344542,14 @@ function stableTrackChangeSignature(change) {
|
|
|
343413
344542
|
return `${type2}|${author}|${authorEmail}|${date}|${excerpt}`;
|
|
343414
344543
|
}
|
|
343415
344544
|
function buildStableIdMappings(rawListResult) {
|
|
343416
|
-
const record =
|
|
344545
|
+
const record = asRecord7(rawListResult);
|
|
343417
344546
|
if (!record) {
|
|
343418
344547
|
return { normalizedResult: rawListResult, stableToRawId: new Map, rawToStableId: new Map };
|
|
343419
344548
|
}
|
|
343420
344549
|
const stableToRawId = new Map;
|
|
343421
344550
|
const rawToStableId = new Map;
|
|
343422
344551
|
const signatureCounts = new Map;
|
|
343423
|
-
const normalizedItems = asArray2(record.items).map((entry) =>
|
|
344552
|
+
const normalizedItems = asArray2(record.items).map((entry) => asRecord7(entry)).filter((entry) => Boolean(entry)).map((entry) => {
|
|
343424
344553
|
const rawId = (typeof entry.id === "string" && entry.id.length > 0 ? entry.id : undefined) ?? asTrackChangeAddress(entry.address)?.entityId;
|
|
343425
344554
|
if (!rawId)
|
|
343426
344555
|
return entry;
|
|
@@ -343432,7 +344561,7 @@ function buildStableIdMappings(rawListResult) {
|
|
|
343432
344561
|
stableToRawId.set(stableId, rawId);
|
|
343433
344562
|
rawToStableId.set(rawId, stableId);
|
|
343434
344563
|
const normalizedAddress = asTrackChangeAddress(entry.address);
|
|
343435
|
-
const handleRecord =
|
|
344564
|
+
const handleRecord = asRecord7(entry.handle);
|
|
343436
344565
|
return {
|
|
343437
344566
|
...entry,
|
|
343438
344567
|
id: stableId,
|
|
@@ -343450,7 +344579,7 @@ function buildStableIdMappings(rawListResult) {
|
|
|
343450
344579
|
};
|
|
343451
344580
|
}
|
|
343452
344581
|
var FORMAT_RECEIPT_OPERATION_IDS, resolveTrackChangeId = (input2, context) => {
|
|
343453
|
-
const record =
|
|
344582
|
+
const record = asRecord7(input2);
|
|
343454
344583
|
if (!record)
|
|
343455
344584
|
return input2;
|
|
343456
344585
|
const stableId = typeof record.id === "string" ? record.id : undefined;
|
|
@@ -343464,10 +344593,10 @@ var FORMAT_RECEIPT_OPERATION_IDS, resolveTrackChangeId = (input2, context) => {
|
|
|
343464
344593
|
const rawId = stableToRawId.get(stableId) ?? stableId;
|
|
343465
344594
|
return { ...record, id: rawId };
|
|
343466
344595
|
}, resolveReviewDecideId = (input2, context) => {
|
|
343467
|
-
const record =
|
|
344596
|
+
const record = asRecord7(input2);
|
|
343468
344597
|
if (!record)
|
|
343469
344598
|
return input2;
|
|
343470
|
-
const target2 =
|
|
344599
|
+
const target2 = asRecord7(record.target);
|
|
343471
344600
|
if (!target2)
|
|
343472
344601
|
return input2;
|
|
343473
344602
|
const stableId = typeof target2.id === "string" ? target2.id : undefined;
|
|
@@ -343483,7 +344612,7 @@ var FORMAT_RECEIPT_OPERATION_IDS, resolveTrackChangeId = (input2, context) => {
|
|
|
343483
344612
|
}, normalizeTrackChangesListIds = (result2) => {
|
|
343484
344613
|
return buildStableIdMappings(result2).normalizedResult;
|
|
343485
344614
|
}, normalizeTrackChangeGetId = (result2, context) => {
|
|
343486
|
-
const record =
|
|
344615
|
+
const record = asRecord7(result2);
|
|
343487
344616
|
if (!record)
|
|
343488
344617
|
return result2;
|
|
343489
344618
|
const listResult = context.editor.doc.invoke({
|
|
@@ -343502,10 +344631,10 @@ var FORMAT_RECEIPT_OPERATION_IDS, resolveTrackChangeId = (input2, context) => {
|
|
|
343502
344631
|
address: normalizedAddress ? { ...normalizedAddress, entityId: stableId } : record.address
|
|
343503
344632
|
};
|
|
343504
344633
|
}, flattenTextMutationReceipt = (result2) => {
|
|
343505
|
-
const record =
|
|
344634
|
+
const record = asRecord7(result2);
|
|
343506
344635
|
if (!record)
|
|
343507
344636
|
return { receipt: result2 };
|
|
343508
|
-
const resolution =
|
|
344637
|
+
const resolution = asRecord7(record.resolution);
|
|
343509
344638
|
return {
|
|
343510
344639
|
target: resolution?.target,
|
|
343511
344640
|
resolvedRange: resolution?.range,
|
|
@@ -343531,8 +344660,8 @@ var init_special_handlers = __esm(() => {
|
|
|
343531
344660
|
delete: flattenTextMutationReceipt,
|
|
343532
344661
|
...FORMAT_POST_INVOKE_HOOKS,
|
|
343533
344662
|
getNodeById: (result2, context) => {
|
|
343534
|
-
const record =
|
|
343535
|
-
const inputRecord =
|
|
344663
|
+
const record = asRecord7(result2);
|
|
344664
|
+
const inputRecord = asRecord7(context.apiInput);
|
|
343536
344665
|
if (!record || !inputRecord)
|
|
343537
344666
|
return result2;
|
|
343538
344667
|
const nodeId = typeof inputRecord.nodeId === "string" ? inputRecord.nodeId : undefined;
|